在程序中先声明int, float,char, double型的变量,再声明int,float,char, double 类型的指针变量,并用相应存储空间初始化指针变量,分别显示这些指针变量占了多少字节,指针变量所指的变量占了至少字节。(提示用 sizeof 运算符) 利用c++
时间: 2023-08-18 21:03:52 浏览: 95
以下是示例程序:
```cpp
#include <iostream>
using namespace std;
int main() {
int a = 10;
float b = 3.14;
char c = 'A';
double d = 1.23456;
int *p1 = &a;
float *p2 = &b;
char *p3 = &c;
double *p4 = &d;
cout << "sizeof(int*) = " << sizeof(int*) << endl;
cout << "sizeof(float*) = " << sizeof(float*) << endl;
cout << "sizeof(char*) = " << sizeof(char*) << endl;
cout << "sizeof(double*) = " << sizeof(double*) << endl;
cout << "sizeof(p1) = " << sizeof(p1) << endl;
cout << "sizeof(p2) = " << sizeof(p2) << endl;
cout << "sizeof(p3) = " << sizeof(p3) << endl;
cout << "sizeof(p4) = " << sizeof(p4) << endl;
cout << "sizeof(*p1) = " << sizeof(*p1) << endl;
cout << "sizeof(*p2) = " << sizeof(*p2) << endl;
cout << "sizeof(*p3) = " << sizeof(*p3) << endl;
cout << "sizeof(*p4) = " << sizeof(*p4) << endl;
return 0;
}
```
程序输出如下:
```
sizeof(int*) = 8
sizeof(float*) = 8
sizeof(char*) = 8
sizeof(double*) = 8
sizeof(p1) = 8
sizeof(p2) = 8
sizeof(p3) = 8
sizeof(p4) = 8
sizeof(*p1) = 4
sizeof(*p2) = 4
sizeof(*p3) = 1
sizeof(*p4) = 8
```
解释一下程序输出:
首先,sizeof(int*)、sizeof(float*)、sizeof(char*)、sizeof(double*) 分别表示指向 int、float、char、double 类型的指针变量所占的字节数,因为在 64 位系统中,指针变量占 8 字节。
其次,sizeof(p1)、sizeof(p2)、sizeof(p3)、sizeof(p4) 分别表示指向 a、b、c、d 变量的指针变量所占的字节数,也是 8 字节。
最后,sizeof(*p1)、sizeof(*p2)、sizeof(*p3)、sizeof(*p4) 分别表示指针变量 p1、p2、p3、p4 所指的变量(即 a、b、c、d)所占的字节数。由于 int 和 float 在本机上占 4 字节,char 占 1 字节,double 占 8 字节,因此输出结果分别为 4、4、1、8。
阅读全文
相关推荐

















