若有 int *p,a=4,p=&a;下面()军代表地址?A.a,p,*&a B.&*a,&a,*p C.*&p,*p,&a D.&a,&*p,p
时间: 2024-04-09 09:31:54 浏览: 21
根据给定的代码,我们有 int *p, a=4, p=&a;。现在来逐个选项分析:
A. a 的地址:&a,是变量 a 的地址。
B. p 的地址:&*p,是指针 p 所指向的变量 a 的地址(即 p 的值)。
C. *p 的值:*p,是指针 p 所指向的变量 a 的值。
D. &a,是变量 a 的地址。
所以,正确的答案是 D. &a。
相关问题
int *p=a;与int *p=&a;有什么区别?
在C++中,int *p = a; 和 int *p = &a; 这两个语句有显著的区别。
int *p = a; 表示将一个整型数组a的首地址赋值给一个指向整型数据的指针p。此时,p指向的是数组a的第一个元素的地址。
而 int *p = &a; 表示将一个指向整型数组a的指针赋值给一个指向整型数据的指针p。此时,p指向的是整个数组a的地址。
换句话说,int *p = a; 可以用来遍历整个数组a,而 int *p = &a; 通常用于传递整个数组a的地址给函数,或者用于在函数中操作整个数组a。
int*p=a和int*p=&b这两个p分别指的什么
假设a和b都是int类型的变量,则:
- int* p = a:这行代码将p指针指向了a变量的地址,也就是说p指向了a变量所在的内存地址,并且可以通过*p来访问a变量的值。
- int* p = &b:这行代码将p指针指向了b变量的地址,也就是说p指向了b变量所在的内存地址,并且可以通过*p来访问b变量的值。
需要注意的是,a和b必须先定义并且分配了内存空间,否则这两行代码会出现错误。例如:
```
int a = 10;
int b = 20;
int* p1 = a; // 错误:a是一个int类型的变量,不是一个指针类型
int* p2 = &b; // 正确:&b是b变量的地址,可以通过指针来访问b变量的值
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)