DEMO
int main()
{
printf("------------common type--------------\n");
printf("char:[%lu]\n", sizeof(char));
printf("short:[%lu]\n", sizeof(short));
printf("int:[%lu]\n", sizeof(int));
printf("float:[%lu]\n", sizeof(float));
printf("long:[%lu]\n", sizeof(long));
printf("double:[%lu]\n", sizeof(double));
printf("int32_t:[%lu]\n", sizeof(int32_t));
printf("int64_t:[%lu]\n", sizeof(int64_t));
printf("size_t:[%lu]\n", sizeof(size_t));
printf("------------pointer type--------------\n");
printf("char*:[%lu]\n", sizeof(char*));
printf("short*:[%lu]\n", sizeof(short*));
printf("int*:[%lu]\n", sizeof(int*));
printf("float*:[%lu]\n", sizeof(float*));
printf("long*:[%lu]\n", sizeof(long*));
printf("double*:[%lu]\n", sizeof(double*));
printf("int32_t*:[%lu]\n", sizeof(int32_t*));
printf("int64_t*:[%lu]\n", sizeof(int64_t*));
printf("size_t*:[%lu]\n", sizeof(size_t*));
return 0;
}
区别:
通用的类型:
32 位系统中 long 大小为 4 字节,size_t 大小为 4 字节;
64 位系统中 long 大小为 8 字节,size_t 大小为 8 字节;
指针类型:
32 位系统的指针为 4 字节;
64 为系统指针为 8 字节;