PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/11/03 02:39:46
Name 아이온
Subject C언어 배울 때 어떤 점이 어려우셨나요?
주말 밤에 취미삼아 틈틈이 C언어를 가르치는 동영상을 만들어 보려고 합니다.

C언어를 이해하기 위해서 최소한 컴퓨터 하드웨어의 일부를 추상해서 이해하고 있어야 된다고 믿는데, 나와 있는 교재 중엔 그런 게 없었습니다.

이를테면 저도 함수가 어렵다고 느꼈는데요, f : (x, y, z, w, ... ) -> output having its data type 꼴을 이해 못 한 게 아니라, array나 pointer가 패스 되는 경우라거나 function pointer 같은 개념이 와닿지 않았던 것 같습니다. 나중에 논리회로를 들으면서 이 하드웨어 부분을 이해하게 되니까, 그때부턴 쉽게 이해가 되었던 것 같아요.

또한 포인터 개념이, 하드웨어를 몰랐을 땐 왜 있어야 하는지 몰라서 한 번 당황하고, 어레이랑 같다는 얘기를 이해 못 해서 거듭 당황했던 것 같습니다.

그외 하드웨어를 몰라도 scope이란 개념이 있는 건데, C 책에선 하드웨어에 대한 설명 없이 대뜸 메모리가 스택, 힙... 이런 식으로 언급해서 이해 못 했던 것 같습니다.

혹 그외에도 지금은 익숙해지신 분들 입장에서 "당시에 누가 이런 걸 알려줬으면 1달이면 배웠을 텐데" 하는 부분이 있으신지요? 혹은 제가 어려움을 느꼈던 부분을 어떻게 지나가셨는지요?


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
10/11/03 03:04
수정 아이콘
저는 포인터가 가장 어려웠습니다.
애초에 배열을 먼저 배워서인지, 포인터를 쓰면 더 편할때도 굳이 배열을 만들어서 쓰는 버릇이 어느새 들어있었어요.
말씀해주신 함수에서의 전역변수나 함수내 변수 그것에 대한 포인터들이 너무 복잡하더라구요.
저는 이문제는, 날잡고 포인터관련된 심화문제를 계속 배열이 아닌 포인터로 풀어서 해결했습니다.
RealWorlD
10/11/03 08:07
수정 아이콘
음 만국 공통이아닐까요 포인터가 0순위죠

그다음으로는 제개인적인견해로 포인터>>넘사벽>>함수>파일입출력>구조체 순정도겠네요

함수같은경우는 별* 피라미드,삼각형,역삼각형 쌓기놀이 하면 다익힐수있죠.
10/11/03 08:16
수정 아이콘
포인터 공감합니다.

오죽했으면 포인터-어레이 부분만 따로 이해를 돕는 책이 나왔겠습니까 ... 흑흑
하루사리
10/11/03 08:36
수정 아이콘
저는 포인터도 문제지만 초심자들이 C언어를 포기하는 이유가
이론 빡시게 배우고 나서. 자 이제 뭐 할까? 하는 문제라고 봅니다.
막상 C언어 이론 포인터 함수등은 배웠지만 이걸로 몰 할지 모르는 학생들이 테반이라는 겁니다.
그런것도 한번 간단하게 소개해 주시는것도 좋을듯 합니다.
그리고 가장 거지같은건 역시 포인터... -_-
그나저나 좋은일 하시네요. 저도 지금 네트워크 동영상 강좌 만들고 있는데 흐흐.. 나중에 참고좀 하게 보여주세요~
10/11/03 09:13
수정 아이콘
어드레스 개념 아닐까요. 문자열 배열 포인터 전부다 어드레스 개념이랑 연관이 되어 있고 처음 공부할땐 얼떨떨 하죠 [m]
뒷짐진강아지
10/11/03 11:22
수정 아이콘
포인터가 죽일놈이죠...
자바부터 배웠는데 나중에 C하니까 포인터라는놈이 있어서 힘들었습니다.
구조체는 클래스(자바) 때문에 의외로 쉬웠...
10/11/03 13:02
수정 아이콘
저는 &a 처럼 address extracting operator와 int &a(address referencing variable)과 int *a (address pointing variable)이 세가지의 구별에 가장 애를 먹었었네요..
10/11/03 14:34
수정 아이콘
C가 어려운 것이 아니라 프로그램 짜는 법을 모르기 때문에 C가 어렵다고 느껴지는 듯 합니다.
아이온
10/11/03 17:04
수정 아이콘
답변 주신 모든 분들 감사합니다.

대개 컴퓨터의 하드웨어에 대한 이해없이 언어를 배우는 데서 오는 어려움처럼 보이네요.

lovehis님//
제가 느끼기엔 C를 통해 프로그램 짜는 법을 배운다는 게 잘못된 선택 같아요. 프로그램은 한편 문제 해결 방식의 명세지만 다른 한편 하드웨어를 직접 컨트롤 하는 제어 신호인 셈인데, 고급 언어는 대개 후자를 감춰줌으로써 전자에 집중할 수 있게 해주거든요. 그리고 전자를 알아야, 후자를 알면서 조건에 맞춰 프로그램을 하게 되는 것 같고요.

C는, 후자를 알아야 프로그램을 할 수 있는 언어여서, 한편으론 이해하기 까다롭고 한편으론 프로그램의 본질에서 멀어지게 만드는 듯 합니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
94409 스타2 사양 질문입니다 [2] 티제이1780 10/11/03 1780
94408 혹시 K5 타시는분 질문하나만.. 삼엽초1526 10/11/03 1526
94407 C언어 배울 때 어떤 점이 어려우셨나요? [9] 아이온1555 10/11/03 1555
94406 울트라씬 두 제품 평가 부탁드려요. 스트릭랜드1569 10/11/03 1569
94405 스타2 레더 개념 질문입니다. [1] StarT1332 10/11/03 1332
94404 오늘 곰티비 다운 안됐나요?? [5] 임헐크님1886 10/11/03 1886
94402 핸드폰 인터넷 1기가사용이가능한가요? [4] 올빼미1734 10/11/03 1734
94401 팔찌 메이커 추천 부탁드려요. 모리1552 10/11/03 1552
94400 그 참새가 박스안에 있는 질문? [10] 에휴존슨이무슨죄1660 10/11/03 1660
94399 아이디 뒤에 /span이나 ㅁㅁ가 있으신 회원분들과 운영진분에게 드리는 말씀 [4] 하심군2142 10/11/02 2142
94398 임요환 선수 vs 시각장애인 에 대하여 [41] 멜로8300 10/11/03 8300
94397 뮤직비디오 처럼 영상편집 하는법. [3] -Aka1512 10/11/02 1512
94395 인터넷 쇼핑물 소개좀 해주세요 ^^ [3] 대근1640 10/11/02 1640
94394 영화 부당거래 잔인한가요? [5] move-4998 10/11/02 4998
94392 스타2 사양 질문입니다 [3] 전국수석1572 10/11/02 1572
94391 톰캣과 SQL 연동 질문드립니다. [1] rainforest1753 10/11/02 1753
94390 컴퓨터 인터넷 질문입니다~ [2] army1589 10/11/02 1589
94389 아이폰이 죽었슴다........... [4] 스웨트1905 10/11/02 1905
94388 수학 경우의수 문제 질문입니다~. [3] zeppelin1595 10/11/02 1595
94387 하드디스크 정보를 못읽네요...(큰일입니다.....) 곰주1262 10/11/02 1262
94385 c언어 결과값이 틀리게 나옵니다 [7] 촉호파이1417 10/11/02 1417
94384 입학사정관제에 관하여서 질문 하나 드립니다. [2] ChicO1303 10/11/02 1303
94382 방 안에서 방귀질문입니다.. [13] 웅후후2093 10/11/02 2093
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로