请运行一下下面的代码int main() { int a = 10; int * p; p = &a; //指针指向数据a的地址 cout << *p << endl; //* 解引用 cout << sizeof(p) << endl; cout << sizeof(char *) << endl; cout << sizeof(float *) << endl; cout << sizeof(double *) << endl; system("pause"); return 0; }
时间: 2023-08-20 19:13:49 浏览: 55
好的,这段代码的作用是定义一个整型变量 a 并赋值为 10,然后定义一个整型指针 p,将其指向 a 的地址,输出指针所指向的数据(即 a 的值),以及指针 p 的大小,以及不同类型指针的大小。
代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int a = 10;
int *p;
p = &a;
cout << *p << endl;
cout << sizeof(p) << endl;
cout << sizeof(char *) << endl;
cout << sizeof(float *) << endl;
cout << sizeof(double *) << endl;
system("pause");
return 0;
}
```
运行结果为:
```
10
8
8
8
8
请按任意键继续. . .
```
其中,指针 p 的大小为 8 字节,这是因为在 64 位操作系统中,指针的大小为 8 字节;而 char、float、double 类型的指针大小也均为 8 字节。
相关问题
c语言,1. 以下程序段中有错误,请根据各行注释找出这些错误并改正。 main() { int a=b=5; /*定义a和b为整型变量,并分别赋值5*/ int p; /*定义基类型为int型的指针变量 */ p=&a; /*使p指向变量a*/ printf(“%d\n”,*p+&b); /*使用p输出a与b的和*/ }
以下是改正后的程序:
main() {
int a=5, b=5; /*定义a和b为整型变量,并分别赋值5*/
int *p; /*定义基类型为int型的指针变量*/
p = &a; /*使p指向变量a*/
printf("%d\n", *p + b); /*使用p输出a与b的和*/
}
修改说明:
1. 第一行语句中,变量b没有定义,需要将其定义为整型变量并赋值为5。
2. 第二行语句中,需要将指针变量p的定义与赋值分开写,先定义,再将其指向变量a。
3. 最后一行语句中,&b是取变量b的地址,而不是变量b本身,因此直接使用变量b即可。
以下程序段中有错误,请根据各行注释找出这些错误并改正。 main(){ int a=b=5; /*定义a和b为整型变量,并分别赋值5*/ int p; /*定义基类型为int型的指针变量 */ p=&a; /*使p指向变量a*/printf(“%d\n”,*p+&b); /*使用p输出a与b的和*/}
以下是改正后的程序:
```c
#include <stdio.h>
int main(){
int a=5, b=5; // 在定义a和b时分别赋值5
int *p; // 定义基类型为int型的指针变量
p=&a; // 使p指向变量a
printf("%d\n",*p+b); // 使用p输出a与b的和,因为b是已知的整型变量,所以不需要取地址符&
return 0; // main函数需要返回一个整型值
}
```
改正说明:
- 在定义a和b时需要分别赋值5,不能使用未定义的变量b。
- 在定义指针变量p时需要加上*,表示p是一个指向整型变量的指针。
- 在输出a和b的和时,b是已知的整型变量,不需要取地址符&,直接使用b即可。
- 最后需要在main函数中返回一个整型值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)