#include <stdio.h>
#define prt(type) printf(#type ":\t%d\n",sizeof(type))
 
int main(void)
{
    prt(char);
    prt(short);
    prt(int);
    prt(long);
    prt(float);
    prt(double);
    prt(int*);
    prt(char*);
    prt(float*);
    prt(double*); 
   system("pause"); 
}
 
输出结果如下:(64位操作系统,8G内存,编译器:DEV C++)
注意基本类型和基本类型指针的长度
不同的编译器,输出的结果可能不一样

关于不同指针大小的长度为什么都为4个字节:

1.首先明白指针是什么,指针就是内存单元地址

2.内存单元地址有地址总线决定

3.地址总线一般为32位。

4.32 / 8 = 4 byte