Table of Contents

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
Print/export