数组指针
时间: 2023-07-20 20:15:05 浏览: 106
基于C#调用c++Dll结构体数组指针的问题详解
数组指针是一个指向数组的指针,它可以用来访问数组中的元素。在C语言中,数组名本身就是一个指向数组首元素的指针,因此可以将数组名赋值给一个指向数组的指针变量,或者通过取地址运算符&获得数组的地址。
例如,假设我们有一个整型数组a,其元素个数为n,那么我们可以定义一个指向该数组的指针变量p:
```
int a[n];
int *p = a; // 将数组名赋值给指针变量
```
也可以使用取地址运算符&获得数组的地址:
```
int a[n];
int *p = &a[0]; // 获取数组首元素的地址
```
我们可以通过指针变量p来访问数组中的元素:
```
*p = 10; // 修改数组首元素的值
*(p + 1) = 20; // 修改数组第二个元素的值
```
其中, *(p + i) 表示访问数组中第i+1个元素的值,即 a[i]。
需要注意的是,数组指针和指针数组是不同的概念。数组指针是指向数组的指针,而指针数组是一个数组,其元素都是指针。
阅读全文