C语言指向一维数组的指针的赋值如何理解?

2023-05-29 阅读 52

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日