定义方面:
1、int为整数型,用于定义整数类型的数据 。
2、float为单精度浮点型,能准确到小数点后六位 。
3、double为双精度浮点型,能准确到小数点都十二位 。
4、char为字符型,用于定义字符类型的数据。
16位编译器
char:1个字节char*(即指针变量): 2个字节(16位的寻址空间是2^16, 即16个bit,也就是2个字节。同理32, 64位编译器)short int: 2个字节int: 2个字节(-2^15 ~ 2^15-1)unsigned int: 2个字节(0 ~ 2^16)float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节
32位编译器
char:1个字节char*: 4个字节short int: 2个字节int: 4个字节unsigned int: 4个字节float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节
64位编译器
char:1个字节char*: 8个字节short int : 2个字节int: 4个字节unsigned int: 4个字节float: 4个字节double: 8个字节long: 8个字节long long: 8个字节unsigned long: 8个字节
如果整数太大,超出了整数类型的范围会产生溢出现象。unsigned int溢出后数值回到“起始点”0,而int溢出后数值回到“起始点”-2147483648。
#include <stdio.h>int main() {int i = 2147483647;unsigned int j = 4294967295;printf("%d %d %d\n", i, i+1, i+2);printf("%u %u %u\n", j, j+1, j+2);return 0;}//程序执行结果:2147483647 -2147483648 -21474836474294967295 0 1
应当注意的是,当变量溢出时,系统并没有给出提示,所以编程时需要程序员自己处理这个问题。
猜你喜欢:👇🏻
⭐【编程】堆(heap)和栈(stack)的区别
⭐【编程】位(bit)、字节(byte)和字(word)的区别
⭐【Visio】Visio图片在Word中显示不全?如何确定Visio作图大小?