[책] C 포인터의 이해와 활용, 리차드 리스, 제이펍, 2013
감상평
- C 포인터와 관련된 입문/활용/개념 정리도서 끝판왕
Site
Note
- XV. 함수가 호출되면, Stack frame이 생성되어 program stack에 입력된다.
- p3. 포인터와 메모리: 전역, 정적, 자동(로컬), 동적
- p6. 포인터 사용와 관련된 문제
- - 배열이나 데이터 구조의 경계를 넘는 접근
- - 소멸한 자동/로컬 변수의 참조
- - 할당 해제된 힙 메모리의 참조
- - 아직 할당되지 않은 포인터에 대한 역참조
- * C 표준 문서 (http://bit.ly/173cDxJ)
- p9. 포인터 선언은 뒤에서부터 읽음
- - const int *pci; //상수 정수를 가리키는 포인터 변수 pci
- * 이진수 0은 C에서 false
- * size_t는 부호없는 정수 --> 출력시 %zu 지정자 권장 (대안으로는 %u, %lu 지정자 사용 권장)
- p45. 할당할 바이트 수를 지정할 때 size_t 연산자를 사용하면 애플리케이션 이식성을 높일 수 있음
- * 두 포인터가 같은 메모리 위치를 참조하는 것: 에일리어싱(aliasing)
- p69. 댕글링 포인터 다루기: 메모리 해제 후 포인터를 NULL로 설정하라
- p70. 메모리 누수 탐지 기능
- - MS(Finding Memory Leaks Using the CRT Library)
- - GCC Mudflap 라이브러리(bit.ly/YilPI1)
- p72. 리소스 획득 즉시 초기화: RAIL_VARIABLE 매크로
- p84. 포인터 반환하기
- p92. 사용자 정의 free 함수 작성하기
- p111. 포인터 표기법과 배열
- p113. 배열과 포인터의 차이점
- p143. 문자열 선언
- - 문자열 상수(리터럴)
- - 문자의 배열
- - 문자에 대한 포인터
- p151. 그림5-5. 선언 방식에 따른 문자열의 위치
- p157. 문자열 연결하기
- p183. malloc/free 오버헤드 회피하기
- p211. 초기화되지 않은 포인터 처리하기: assert 함수 사용
- p218. 유계포인터(Bounded pointers) = 유효한 영역 내에서만 사용이 가능한 포인터
- - CMBC: Bounded Model Checking for ANSI-C
- * strlcpy, strlcat는 일부 리눅스에서만 지원
- * 오라일리, PThreads Programming
댓글 없음:
댓글 쓰기