03 指针所占内存空间
指针也是一种数据类型。
- 在 32 位操作系统下,无论什么类型的指针,都是占用4 个字节。
- 在 64 位操作系统下,无论什么类型的指针,都是占用8 个字节。
#include <iostream>
using namespace std;
int main()
{
int a = 10;
short a1 = 10;
float a2 = 10.1f;
double a3 = 10.1;
char a4 = 'a';
int* p = &a;
short* p1 = &a1;
float* p2 = &a2;
double* p3 = &a3;
char* p4 = &a4;
cout << "int的指针所用大小:" << sizeof(p) << endl;
cout << "short的指针所用大小:" << sizeof(p1) << endl;
cout << "float的指针所用大小:" << sizeof(p2) << endl;
cout << "double的指针所用大小:" << sizeof(p3) << endl;
cout << "char的指针所用大小:" << sizeof(p4) << endl;
system("pause");
return 0;
}
运行结果:(arm64 / x64)(64 位操作系统)
int的指针所用大小:8
short的指针所用大小:8
float的指针所用大小:8
double的指针所用大小:8
char的指针所用大小:8
请按任意键继续. . .
如果我们把解决方案平台改成 x86,则是:(32 位操作系统)
int的指针所用大小:4
short的指针所用大小:4
float的指针所用大小:4
double的指针所用大小:4
char的指针所用大小:4
请按任意键继续. . .
:-)