더북(TheBook)

C 표준에는 다른 타입도 많이 정의돼 있는데, 그 중에서도 특별한 종류의 산술 타입이 있다. 몇 가지만 예를 들면 표 5-2와 같다. 또 다른 타입으로 플랫폼에서 지원하는 최대 너비에 대한 타입도 있다. 이 타입은 전처리기가 산술 연산이나 비교 연산을 수행하는 데 쓰이기도 한다.

▼ 표 5-2 특별한 종류의 산술 타입

타입

헤더

정의

의미

size_t

stddef.h

 

크기나 원소 개수를 표현하는 데 적합

ptrdiff_t

stddef.h

 

크기 차를 표현하는 데 적합

uintmax_t

stdint.h

 

최대 너비 부호 없는 정수, 전처리기

intmax_t

stdint.h

 

최대 너비 부호 있는 정수, 전처리기

time_t

time.h

time(0), difftime(t1, t0)

에포크 이후의 달력 시간(초 단위)

clock_t

clock_t

clock()

프로세서 시간

time_tclock_t 타입은 시간을 다루는 데 사용된다. 두 타입에 대한 시간 연산의 정밀도가 플랫폼마다 다르다(semantic type). 산술식에 사용할 수 있는 초 단위 시간은 difftime 함수로 구하며, 이 함수는 두 타임스탬프(timestamp)의 차를 구한다. clock_t 값은 현재 플랫폼의 프로세서 클럭 사이클 모델을 제공한다. 그래서 초보다 작은 단위를 사용하는 경우가 많다. 이런 값을 초 단위로 변환하려면 CLOCKS_PER_SEC를 사용하면 된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.