数组指针和指针数组的表示
时间: 2023-12-27 21:24:05 浏览: 84
数组指针和指针数组
数组指针和指针数组是C语言中的两个概念。
1. 数组指针(Array Pointer)是指能够指向数组的指针。它的定义形式为`类型 (*指针变量名)[数组长度]`。例如,定义一个指向整型一维数组的指针`p`,可以写作`int (*p)[10]`。这里的`p`是一个指针,指向一个长度为10的整型数组。
2. 指针数组(Array of Pointers)是指由指针组成的数组。它的定义形式为`类型 *指针数组名[数组长度]`。例如,定义一个由整型指针组成的数组`arr`,可以写作`int *arr[10]`。这里的`arr`是一个数组,包含了10个整型指针。
下面是一个示例演示:
```c
#include <stdio.h>
int main() {
int arr[5] = {1, 2, 3, 4, 5};
int *p = arr; // 数组名arr可以看作是指向数组第一个元素的指针
// 数组指针的使用
for (int i = 0; i < 5; i++) {
printf("%d ", (*p)[i]); // 通过解引用指针p来访问数组元素
}
printf("\n");
// 指针数组的使用
int a = 10, b = 20, c = 30;
int *arr2[3] = {&a, &b, &c}; // 数组元素是指针
for (int i = 0; i < 3; i++) {
printf("%d ", *arr2[i]); // 通过解引用数组元素来访问指针指向的值
}
printf("\n");
return 0;
}
```
输出结果为:
```
1 2 3 4 5
10 20 30
```
阅读全文