the C programming language
[책] C언어 창시자가 알려주는 <C 언어 프로그래밍>
올해 초 즈음 알게 된 C 언어 프로그래밍 책이다. 무려 C언어를 만든 데니스 리치가 참여하여 쓴 해설서이다. 나무위키에서 C 언어 항목을 읽다가 찾아낸 책인데 여기저기 알아보니 꽤 유명한 책이었다. 책을 읽어보기로 마음먹을 당시에는 마침 육아휴직 중이고 공부하고 싶은 열망이 강해서 금방 읽을 수 있을 줄 알았다. 이런저런 일을 하다 복직도 하고 그러다 보니 책을 다 읽는데 시간이 걸리고 말았다. 이 책은 C 언어를 알려주는 책이지만, 결코 초보자를 위한 책은 아니다. 어느 언어로든 한 번은 프로그래밍해본 사람이 읽기에 적합하다. 호기롭게 첫 프로그래밍 책으로 이 책을 선택한다면 도중에 그만두게 될 가능성이 크다. 왜 그런가 하면 책에 실린 수많은 예제가 다른 입문서의 예제보다 어렵다. 예제 프로그램이 ..
[다시 C언어] 함수 반환형, 안적어도 될까?
Keringhan의 "The C Programming Language"에 실려있는 예시 코드들을 보면 main 함수 반환형이 적혀있지 않은 것을 발견하였습니다. 아래 처럼요. main() { ... } 평소 같았으면 저자가 코드를 빠트렸나보다 생각했었을 것입니다. 그러나 내용을 충분히 곱씹으며 봐야 한다는 keringhan의 책이어서 혹시나 하는 마음으로 책 내용과 똑같이 반환형 없이 코드를 작성하고 빌드해 보았습니다. 결과는 아래와 같은 경고 문구가 출력되었습니다. Ex_01-03.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int] 3 | main() | ^~~~ 그렇습니다. 이것은 경고(warning)이지 오류(error)가 아닙니다. 따라..
[다시 C언어] 시작하며.
왜 다시 C언어를 공부할까? RTOS를 만들어보는 공부를 시작하면서 잘 모르던 C언어 문법을 만나게 된 것이 계기입니다. 구조체를 이용한 비트 필드 표현이나 가변 인자 함수가 있다는 것을 알게 된 것도 최근 일이지요. 저는 C언어를 그래도 좀 안다고 생각했는데 너무 얕게 알고 있었던 모양입니다. 그래도 개발을 하면서 밥을 벌어 먹고사는 사람이 자신의 주력 언어는 자신 있게 '잘 안다'고 말할 수 있어야 하지 않을까 생각했습니다. 그래서 다시 C언어를 공부하기 시작했습니다. 무슨 책을 참고하지? 제가 처음 C언어를 접하게 된 것은 2013년 대학원 생활을 시작하면서였습니다. 예술과 공학을 융합한 학과에서 '비전공자' 신분으로 개발 공부를 시작하였지요. 그때는 많은 C언어 입문 ..