1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
Which file to include:
> The <stdint.h> header is a subset of the <inttypes.h> header
|----------------------------------------|-----------------------------------|--------------------------------|
| C INTS | | |
| `{CHAR,SHRT,INT,LONG,LLONG}_{MIN,MAX}` | `<limits.h>` | |
| `U{CHAR,SHRT,INT,LONG,LLONG}_MAX` | `<limits.h>` | |
|----------------------------------------|-----------------------------------|--------------------------------|
| C SIZED INTS | | |
| `(C u)int{n}_t` (and `_{MIN,MAX}`) | `<stdint.h>` | exact |
| `(u)int_least{n}_t` (and `_{MIN,MAX}`) | `<stdint.h>` | type may be more than `n` bits |
| `(u)int_fast{n}_t` (and `_{MIN,MAX}`) | `<stdint.h>` | type may be more than `n` bits |
| `(u)intptr_t` (and `_{MIN,MAX}`) | `<stdint.h>` | |
| `(u)intmax_t` (and `_{MIN,MAX}`) | `<stdint.h>` | |
| `PRI*` | `<inttypes.h>` | |
| `SCN*` | `<inttypes.h>` | |
|----------------------------------------|-----------------------------------|--------------------------------|
| C ADDRESS INTS | | |
| `ptrdiff_t` | `<stddef.h>` | |
| `PTRDIFF_{MIN,MAX}` | `<stdint.h>` | |
| `size_t` | `<stddef.h>` (or `<sys/types.h>`) | |
| `SIZE_MAX` | `<stdint.h>` | |
|----------------------------------------|-----------------------------------|--------------------------------|
| C WCHAR INTS | | |
| `wchar_t` | `<stddef.h>` | |
| `WCHAR_{MIN,MAX}` | `<stdint.h>` | |
| `wint_t` | `<wchar.h>` | |
| `WINT_{MIN,MAX}` | `<stdint.h>` | |
|----------------------------------------|-----------------------------------|--------------------------------|
| POSIX INTS | | |
| `sig_atomic_t` | `<signal.h>` | |
| `SIG_ATOMIC_{MIN,MAX}` | `<stdint.h>` | |
| `mode_t` | `<sys/types.h>` | unsigned |
| `dev_t` | `<sys/types.h>` | unsigned |
| `nlink_t` | `<sys/types.h>` | unsigned |
| `{u,g,}id_t` | `<sys/types.h>` | unsigned |
| `blkcnt_t` | `<sys/types.h>` | signed |
| `off_t` | `<sys/types.h>` | signed |
| `fsblkcnt_t` | `<sys/types.h>` | unsigned |
| `fsfilecnt_t` | `<sys/types.h>` | unsigned |
| `ino_t` | `<sys/types.h>` | unsigned |
| `blksize_t` | `<sys/types.h>` | signed |
| `pid_t` | `<sys/types.h>` | signed |
| `ssize_t` | `<sys/types.h>` | signed |
| `SSIZE_MAX` | `<limits.h>` | |
| `suseconds_t` | `<sys/types.h>` | signed |
| `clock_t` | `<sys/types.h>` | could be float |
| `time_t` | `<sys/types.h>` | signed |
|