编程基础/Sizeof 运算符
外观
< 编程基础
对 sizeof 运算符的解释,以及在 C++ 编程语言中使用的示例。
每个数据项,常量和变量,不仅具有数据类型,而且数据类型决定了该项将在计算机内存中使用多少字节。每种数据类型的尺寸因所使用的编译器和计算机而异。这种影响被称为机器依赖。此外,语言升级也带来了一些尺寸变化。在 "C" 中,int 数据类型在 Intel 兼容中央处理器 (cpu) 机器上分配了 2 字节的内存存储空间。在 "C++" 中,int 分配了 4 字节。
有一个名为 "sizeof (… )" 的运算符,它是一个一元运算符,也就是说它只有一个操作数。操作数位于运算符的右侧,如果它是一个数据类型,则放在括号内。操作数可以是任何数据类型(包括通过 typedef 创建的类型)。如果操作数是标识符名称,则不需要放在括号内。它对变量和内存常量标识符名称都有效。该运算符的独特之处在于它在编译时对全局作用域的项进行计算,在运行时对局部作用域的项进行计算。示例
cout << "The size of an integer is: " << sizeof (int);
编译器将确定特定机器上整数的字节大小,并实质上用一个值替换 sizeof 运算符。整数通常为 4 字节长,因此代码行将变为
cout << "The size of an integer is: " << 4;
如果您放置一个表示数据存储区域(变量或内存常量)的标识符名称,它会查看标识符名称的定义。注意:括号不是必需的,并且通常不包含在标识符名称中。
double money; // variable set up with initialization
then later on in the program
cout << "The size of money is: " << sizeof money;
编译器将通过查看 money 的定义来确定 money 的字节大小,其中定义了数据类型为 double。特定机器上的 double 数据类型(通常为 8 字节)将替换代码,并将变为
cout << "The size of money is: " << 8;
- sizeof
- 一个运算符,它告诉你数据类型在存储中占用多少字节。