int main()
{
// 整数
int x = 0;
// 数组
int array[3] = {1, 2, 3};
// 整数指针
int *p = &x;
// 数组指针 指向 数组 的指针
int *q = array;
// 指针数组 存储指针的数组 即数组中的每一项元素为一个指针
int *pointerArray[] = {p, q};
// 指向 指针数组 的指针
int **pointerToPointer = pointerArray;
printf("%d\n", x); // 0
printf("%d\n", *p); // 0
printf("%d\n", q[0]); // 相当于array[0],即1
printf("%d\n", pointerArray[1][1]); // pointerArray[1] 表示指向q, pointerArray[1][1]相当于q[1], 而q又指向array,即array[1]即2
printf("%d\n", pointerToPointer[1][1]); // 等价于上面的
// 指向数组的指针 访问数组元素时可以使用与数组名相同的下标访问方式 有种等价于数组名的感觉,但是指针可以++操作,而数组名则不可以
return 0;
}
C语言,数组指针,指针数组 示例
最新推荐文章于 2022-03-06 12:59:26 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)