sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小。
sizeof 运算符可用于获取类、结构、共用体和其他用户自定义数据类型的大小。
使用 sizeof 的语法如下:
sizeof (data type)
其中,data type 是要计算大小的数据类型,包括类、结构、共用体和其他用户自定义数据类型。
请尝试下面的实例,理解 C++ 中 sizeof 的用法。复制并黏贴下面的 C++ 程序到 test.cpp 文件中,编译并运行程序。
#include <iostream>
using namespace std;
int main()
{
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
当上面的代码被编译和执行时,它会产生下列结果,结果会根据使用的机器而不同:
Size of char : 1 Size of int : 4 Size of short int : 2 Size of long int : 4 Size of float : 4 Size of double : 8 Size of wchar_t : 4
示例:
int iDigital = 5;
int iList[] = { 1, 2, 4, 3, 5, 6 };
cout << "Size of int : " << sizeof(iDigital) / sizeof(int) << endl;
cout << "Size of int : " << sizeof(iList) / sizeof(int) << "\n" << endl;
char cKeyLength = 11122221133313211111;
char cListKeyLength[] = { 234341, 234232, 43244, 2343, 343425, 3242346 };
cout << "Size of char : " << sizeof(cKeyLength) << endl;
cout << "Size of char : " << sizeof(cListKeyLength) << "\n" << endl;
//cout << "Size of short int : " << sizeof(short int) << endl;
//cout << "Size of long int : " << sizeof(long int) << endl;
//cout << "Size of float : " << sizeof(float) << endl;
//cout << "Size of double : " << sizeof(double) << endl;
//cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;