long.意思大致是编译器可以根据自身硬件来选择合适的大小但是需要满足约束:short int 几个字节和int型至少为16位,long型至少为32位并且short int 几个字节型长度不能超过int型,而int型不能超过long型這即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节(例如GCC)。下面列举茬GCC编译器下32位机器和64位机器各个类型变量所占字节数:
需要说明一下的是指针类型存储的是所指向变量的地址所以32位机器只需要32bit,而64位機器需要64bit