Data type byte sizes in C depend on host CPU architectures and compiler Application Binary Interfaces (ABIs). Evaluating sizeof(type) guarantees cross-platform portability across 32-bit and 64-bit Linux systems.

sizeof Data Type Printing Code Example

type_sizes.cc
#include <stdio.h>
 
int main(void) {
    printf("sizeof(char):      %zu byte\n",  sizeof(char));
    printf("sizeof(short):     %zu bytes\n", sizeof(short));
    printf("sizeof(int):       %zu bytes\n", sizeof(int));
    printf("sizeof(long):      %zu bytes\n", sizeof(long));
    printf("sizeof(long long): %zu bytes\n", sizeof(long long));
    printf("sizeof(void *):    %zu bytes (Pointer)\n", sizeof(void *));
    return 0;
}