若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于____。 A. p++ B. x++ C. *(p++) D. &x++
时间: 2023-08-15 13:05:25 浏览: 1060
`(*p)++` 相当于对指针 `p` 所指向的变量 `x` 进行加 1 操作。因此,答案是 B. x++。`p++` 表示将指针 `p` 加 1,指向下一个变量;`*(p++)` 表示先取 `p` 指向的变量的值,再将指针 `p` 加 1,指向下一个变量;`&x++` 表示先对变量 `x` 进行加 1 操作,再取其地址,这是不合法的表达式。
相关问题
若有定义int a,*p=&i;则*&a等价于( )。
在定义 int a, *p=&a; 后,*&a 等价于 a,即取 a 的地址再取地址,再取值,最终得到的是 a 的值。这是因为 *& 这个操作符本质上是对一个指针进行解引用,也就是取指针指向的地址上的值,而 a 是一个整型变量,而不是指针变量,所以它的地址就是它本身,*&a 就相当于 *(&a),也就是对 a 取地址再取值,最终得到的就是 a 的值。
定义一个指向数组的指针p
定义一个指向数组的指针可以使用以下语法:
```c
int arr[5]; // 定义一个包含5个int类型元素的数组
int *p; // 定义一个指向int类型变量的指针
p = arr; // 将数组的首地址赋值给指针变量p,相当于p指向数组arr
```
或者可以使用以下语法将定义和赋值合并成一行:
```c
int arr[5]; // 定义一个包含5个int类型元素的数组
int *p = arr;// 定义一个指向int类型变量的指针,并将数组的首地址赋值给指针变量p,相当于p指向数组arr
```
注意,p指针变量的类型应该与数组元素的类型相匹配。在此例中,由于arr数组是一个int类型的数组,因此指向它的指针变量p应该也是一个int类型的指针。
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.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)