首页 理论教育C语言程序设计基础(第3版)-sizeof运算符

C语言程序设计基础(第3版)-sizeof运算符

【摘要】:sizeof运算符的功能是返回其所测试的数据对象所占存储单元的字节数。例如,sizeof的值为1。使用sizeof运算符时需要注意以下两点:①使用sizeof运算符的目地是获取任何数据对象所占内存单元的字节数,使得程序自适应于所用系统的存储分配机制。②如果被测试的对象是一个表达式,sizeof不会对表达式进行具体的运算,而只是判断该表达式的最终数据类型,并以此求出所需要的存储空间。sizeof运算符示例。

sizeof运算符的功能是返回其所测试的数据对象所占存储单元的字节数。sizeof运算符的使用形式为:

sizeof(<数据对象>)

其中,数据对象可以是:

·某个具体的变量名;

·某种数据类型的常量;

·某种数据类型的名字(包括数组、结构体等构造数据类型);

·一个合法的C表达式。

例如,sizeof(char)的值为1。对于整型变量x,则在16位系统中sizeof(x)和sizeof(int)的值均为2,而在32位系统中sizeof(x)和sizeof(int)的值均为4。

使用sizeof运算符时需要注意以下两点:

①使用sizeof运算符的目地是获取任何数据对象所占内存单元的字节数,使得程序自适应于所用系统的存储分配机制。(www.chuimin.cn)

②如果被测试的对象是一个表达式,sizeof不会对表达式进行具体的运算,而只是判断该表达式的最终数据类型,并以此求出所需要的存储空间。

【例2.15】 sizeof运算符示例。

程序运行结果如下(运行环境为VC++6.0,其他环境下的运行结果可能不同):

bytes of int is 4

bytes of long is 4

bytes of y is 4

bytes of x+4 is 4

x=4

注意:sizeof函数并不对其参数中的表达式进行实际运算,所以变量x的值仍然为4。