利用sizeof关键字可以统计数据类型占用内存空间的大小,单位是字节
语法:
sizeof(数据类型)
或者
sizeof (已经定义过的常量或变量)
常量甚至可以是#define定义的宏常量,前提是定义准确有效。
下面是我测试的源代码:
#include <iostream>
using namespace std;
#define day 18446744073709551615
#define txt "abcdefghijklmnopqrsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuvwxyz"
int main()
{
short a = 1;
//可以利用sizeof关键字求出short数据类型占用了多少个字节的内存空间
//语法为sizeof(数据类型)或者 sizeof(已经定义过的常量或变量)
cout << sizeof(short) << endl;
//a作为一个已经定义过的变量也可以用此方法
cout << sizeof(a) << endl;
//试一下常量能不能行,结果是可以
const short b = 2;
cout << sizeof(b) << endl;
cout << sizeof(const short) << endl;
cout << sizeof(short const) << endl;
//其他几种整型
cout << sizeof(int) << endl;
cout << sizeof(long) << endl;
cout << sizeof(long long) << endl;
//试一下#define定义的宏常量
cout << sizeof(day) << endl; //可以,甚至还会根据数字大小自行调整内存空间,但是数值范围[-2^63-1——2^64]
cout << sizeof(txt) << endl; //可以,甚至还会根据字符串长度自行调整内存空间,测试到60多个字节还没到上限
cout << sizeof(#define) << endl;//不行,不让这么玩233333
return 0;
}