- 关键字:
sizeof为关键字,并不是函数。
作用:编译器给我们查看内存空间容量的一个工具。
eg:int a;
printf("the size is %d\n",sizeof a);
printf("the size is %d\n",sizeof (a)); //注:int的大小跟编译器有关。
二者结果是一样的:the size is 4。
- 数据类型
- char = 8bit = 1B
硬件芯片操作最最小单位。 bit 1 0
软件操作最小单位 1B = 8bit
eg:char a = 300; //溢出
2. int 大小由编译器决定
32bit 4B int 2^32 = 4294967296
16bit 2B int 2^16 = 65536
注:在C语言中,a>>1 表示a右移1位,即a = a/(2^1),
同理a<<1表示a左移1位,即a=a*(2^1).
① 进制表示(计算机中)
二进制:0开头
八进制:\开头
十进制:正常表示即可,但不宜以0开头。
十六进制:0x开头
② 进制输出:
printf("%d %o %x",a,b,c) //a,b,c分别按十进制,八进制,十六进制输出。
3.long(4B = 32bit)、short (2B = 16bit)
4.unsigned 、signed
无符号:数据
有符号:数字
eg:char a = -1;
a>>1 最终变为0xff,因为最高位始终存在。
unsigned char b = -1;
b>>1 最终变为0
5.float、double
float 4B
double 8B
6.void 声明