学习C语言的时候,对C语言的基础类型所占用的内存空间是非常模糊的。查阅资料,才知道C语言的基础类型占用的内存空间与编译器位长有关,常见是16位、32位、64位。维西目前用的是32位、64位编译器,而16位的数据是查阅资料得来的,问号是尚未查阅到,欢迎纠错、补充。
int,long int,short int的宽度都可能随编译器而异。但有几条铁规(ANSI/ISO制订的):
1、sizeof(short int)<=sizeof(int)
2、sizeof(int)<=sizeof(long int)
3、short int至少应为16位(2字节)
4、long int至少应为32位(4字节)
按表格总结:
1)字符类型char占1个字节。
2)浮点型基本类型float、double分别占4个字节和8个字节。
3)short int等短最短(最短指在整型里最短字节数是2),占2个字节。long long等长最长(最长指在整型里最长字节数是8),占8个字节。
4)无符号修饰的基础类型所占空间大小不变,如int和usigned