Sizeof
- sizeof.c
include <stddef.h> #include <stdio.h> #include <stdint.h> #include <stdarg.h> #define PRINTSIZE(type) printf("| "#type" | %d |\n", sizeof(type)) int main(void) { PRINTSIZE(void*); PRINTSIZE(0); PRINTSIZE(0Lu); PRINTSIZE(char); PRINTSIZE(short); PRINTSIZE(int); PRINTSIZE(long int); PRINTSIZE(long long int); PRINTSIZE(ptrdiff_t); PRINTSIZE(size_t); PRINTSIZE(int32_t); PRINTSIZE(int64_t); PRINTSIZE(va_list); return 0; }
in 32
gcc -m32 sizeof.c -o sizeof && ./sizeof
| void* | 4 |
| 0 | 4 |
| 0Lu | 4 |
| char | 1 |
| short | 2 |
| int | 4 |
| long int | 4 |
| long long int | 8 |
| ptrdiff_t | 4 |
| size_t | 4 |
| int32_t | 4 |
| int64_t | 8 |
| va_list | 4 |
in 64
gcc sizeof.c -o sizeof && ./sizeof
| void* | 8 |
| 0 | 4 |
| 0Lu | 8 |
| char | 1 |
| short | 2 |
| int | 4 |
| long int | 8 |
| long long int | 8 |
| ptrdiff_t | 8 |
| size_t | 8 |
| int32_t | 4 |
| int64_t | 8 |
| va_list | 24 |