数据类型
字节长度 bit
字节 1Byte=8bit
字 (32位系统) 字=4个字节=32bit
半字 半字=2Byte=16位
sizeof 运算符 作用:测量一个变量、数据类型所占的字节长度。
测量变量:sizeof(num) sizeof num
测量数据类型只可以使用:sizeof(int)
sizeof(int) = 4个字节 sizeof(int *)=4个字节
(char)=1个字节 (char *)=4个字节
(short)=2个字节 (short *)=4个字节
(long)=4个字节 (long *)=4个字节
(float)=4个字节 (float *)=4个字节
(double)=8个字节 (double *)=4个字节
注:所有指针变量都保存为地址,OS里的地址
都是固定长度,长度由位数决定的。
如32位:4个字节
64位:8个字节
例子:
src[100]
sizeof(src)=100
src[]=”hello world”
sizeof(src)=12
strlen:统计字符串中除了“\0”外字符的个数
sizeof与strlen的区别:
sizeof是运算符,统计时加“\0” strlen是函数,统计时不加“\0”
有符号位:8位全是有效位
无符号位:7位是有效位 1位符号位
unsigned char:
0000 0000 =0 原码
1111 1111 =255 反码
signed char: 补码 计算机保存补码
+: 0 000 0000 =0;
0 111 1111=127; 正数:原码=补码;
-: 1 000 0000=-128 负数: 绝对值的原码取反加1;
取反:1 111 1111
+1
1 1000 0000 = -128 知道负数补码如何获取原码:对补码取反加1;
1 111 1111
取反 1 000 0000
+1
1 000 0001 = -1
==> -128~127
typedef char Char;
typedef 给数据类型重命名
作用: 提高了代码的移植性
‚对代码起到了保护作用