数据类型

C语言规定,在程序中使用的每一个数据,必须指定其数据类型。

数据类型

3.3.11数据类型与内存

数据类型

补充:现在一些嵌入式设备也需要尽量节约内存。

3.3.12  sizeof运算符

sizeof是个单目运算符,用来计算操作数在内存中占据的字节数,其操作数既可以是括在圆括号中的类型标识符,其返回值是size_t类型,即无符号整数

如:

sizeof(short);                       /*返回2*/

sizeof(long);                        /*返回4*/

sizeof(int);            /*不确定,取决于不同的系统*/

也可以是一个表达式,如:

short x;

sizeof(x);                             /*返回2*/

 

代码实践   Sizeof的使用:

数据类型

补充:   1、sizeof的结果与系统有关。

  1. sizeof是运算符,不是函数

 

3.3.13符号的作用

(1)整数的正负——有符号和无符号。正数和负数是两种情况,要区分两种情况,,用二进制的一位刚好可以表示,比如用0表示正数,1表示负数。C语言中确实就是用最高位来表示一个整数的正负号,0表示为正,1表示为负。

 

 

代码实践练习整数的符号:

数据类型

查看上面代码的内存情况:

数据类型

数据类型

 

 

 

(2) unsigned 类型

记录中国的人口,考试分数,年龄等。那么就可以不要符号位,而节约一个二进制位,从而可以表达的数就更大了。于是C语言提出了有符号和无符号的概念。某些时候,可能并不需要正负号,比如使用自然数的时候。

unsigned 类型的代码

数据类型

(3)补充 :极限的示例

数据类型