반응형
포인터 관련 데이터 타입
- ptrdiff_t : 포인터 연산을 처리하기 위해 사용 << 클릭
size_t 타입의 이해
size_t 타입은 C 언어에서 임의의 객체가 가질 수 있는 최대 크기를 나타낸다. 크기를 표현하는 데 음수의 사용은 의미가 없기 때문에 size_t는 부호없는 정수를 사용한다.
size_t 타입을 쓰는 이유는 시스템에서 주소 지정이 가능한 메모리 영역과 일치하는 크기를 선언하는 이식 가능한 방법을 제공하기 위해서다.
size_t 타입은 sizeof 연산자의 반환 타입으로 사용되며 많은 함수들의 인자로도 사용된다.
malloc 함수와 strlen 함수가 size_t 타입을 반환하거나 인자로 사용하는 대표적인 함수이다.
size_t 타입의 변수에 저장된 값을 출력할 때는 주의가 필요하다.
size_t 타입은 부호없는 정수(unsigned int)이며, 출력 시 잘못된 형식 지정자를 선택하면 예상치 못한 값이 출력된다.
size_t 타입의 출력에는 &zu 지정자를 사용하도록 한다.
%zu 형식 지정자가 지원되지 않는 환경에서는 대안으로 %u 또는 %lu 지정자를 사용할 수 있다.
항상 이 타입의 변수에는 양의 정수를 할당해야 하는것을 잊지말자.
※ 일반적으로 size_t 타입은 퐁니터를 저장하는데 사용될 수 있지만, size_t 타입이 포인터와 같은 크기라고 가정해서는 안 된다. 포인터의 저장에는 intptr_t 타입을 사용하는것이 좋다.
참고문헌 : C 포인터의 이해와 활용. 리처드 리스 저
반응형
'BackEnd' 카테고리의 다른 글
[자료구조] C언어 퀵 정렬 quick sort (0) | 2015.10.14 |
---|---|
프레임워크와 라이브러리의 차이 (0) | 2015.07.20 |
삼성전자 IoT.js 프로젝트와 JerryScript (0) | 2015.07.20 |
비주얼 스튜디오 2013에서 inet_addr error (1) | 2015.03.27 |