C语言指向一维数组的指针的赋值如何理解?
2023-05-29 阅读 37
C语言中,指向一维数组的指针可以用来访问数组中的元素。对于一个一维数组a,它的名字a实际上是指向数组第一个元素的指针,即&a[0]。
假设有一个指向一维数组的指针p,我们可以通过以下方式将其指向数组a:
```
int a[5] = {1, 2, 3, 4, 5};
int *p;
p = a; // 或者 p = &a[0];
```
这里,将数组名a赋值给指针p,实际上是将数组第一个元素的地址赋给了指针p。因此,p指向了数组a的第一个元素。
我们也可以使用下标运算符[]来访问指针p指向的数组元素:
```
int x = p[2]; // 等价于 int x = *(p+2);
```
这里,p[2]实际上是*(p+2)的简写,表示指针p指向的数组中第三个元素的值。
更新于 2023年05月30日