TAKEAWAY 3.4 스칼라값은 모두 진리값이 될 수 있다.
여기서 말하는 스칼라(scala)C 타입은 앞에서 본 size_t, bool, int와 같은 숫자 타입뿐만 아니라 포인터(pointer)C 타입도 포함한다. 표 3-1은 이 책에서 자주 사용하는 타입을 정리한 것이다. 자세한 내용은 6.2절에서 설명한다.
▼ 표 3-1 이 책에서 사용하는 스칼라 타입
레벨 |
이름 |
이름 |
분류 |
소속 |
printf |
0 |
size_t |
|
부호 없는 타입(unsigned) |
<stddef.h> |
"%zu" "%zx" |
0 |
double |
|
부동소수점(Floating) |
기본 제공 |
"%e" "%f" "%g" "%a" |
0 |
signed |
int |
부호 있는 타입(signed) |
기본 제공 |
"%d" |
0 |
unsigned |
|
부호 없는 타입 |
기본 제공 |
"%u" "%x" |
0 |
bool |
_Bool |
부호 없는 타입 |
<stdbool.h> |
"%d"(0, 1과 같음) |
1 |
ptrdiff_t |
|
부호 있는 타입 |
<stddef.h> |
"%td" |
1 |
char const* |
|
스트링(string, 문자열) |
기본 제공 |
"%s" |
1 |
char |
|
문자(character) |
기본 제공 |
"%c" |
1 |
void* |
|
포인터(pointer) |
기본 제공 |
"%p" |
2 |
unsigned char |
|
부호 없는 타입 |
기본 제공 |
"%hhu" "%02hhx" |