在C语言中,长度运算符用于测试数据类型符(或变量)所分配的内存字节数,用于测试的对象数据必须用圆括号括起来。和其他运算符不同的是,长度运算符是由一个关键字sizeof
表示的,它用于计算一种数据类型所占用的字节数。不论是基本的数据类型还是复杂的构造类型,都可以用它来计算。表示格式为:
sizeof(类型说明符或变量)
长度运算符的表示形式、举例和功能如表所示。
长度运算符做总结如下:
- 长度运算符(sizeof)是一个单目运算符,它的功能是返回给定类型的运算对象所占内存字节的个数,因此长度运算的结果是一个整型数。例如:
sizeof(char)
计算一个字符类型数据占用的字节数,结果为1,表示字符类型数据在内存中占用一个字节的空间。
sizeof(double)
计算一个双精度浮点型数据的长度,结果为8,表示双精度浮点类型数据在内存中占用4个字节的空间。
-
长度运算符的运算对象除了数据类型符说明符以外,还可以是数组名或表达式等。如果运算对象是一个表达式(如常量、变量、数组名、结构体变量、共用体变量等),则sizeof()不会对表达式求值,只给出该表达式所占用的字节数。例如:
sizeof(100)=4 /*在Visual C++ 6.0环境下整型数据占4个字节*/ sizeof('a')=1 /*求字符型常量'a'的长度*/ sizeof(struct ABC) /*求结构类型ABC的长度*/ sizeof(a) /*求变量a的长度,即它所占用的字节数*/
-
长度运算符的优先级与其他单目运算符如
~
、!
、++
、--
是同级别的,结合性是自右向左。
评论前必须登录!
注册