C语言sizeof

在C语言中,长度运算符用于测试数据类型符(或变量)所分配的内存字节数,用于测试的对象数据必须用圆括号括起来。和其他运算符不同的是,长度运算符是由一个关键字sizeof表示的,它用于计算一种数据类型所占用的字节数。不论是基本的数据类型还是复杂的构造类型,都可以用它来计算。表示格式为:

        sizeof(类型说明符或变量)

长度运算符的表示形式、举例和功能如表所示。

C语言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的长度,即它所占用的字节数*/
    
  • 长度运算符的优先级与其他单目运算符如~++--是同级别的,结合性是自右向左。

赞(0)

评论 抢沙发

评论前必须登录!