区分数组的指针与指针数组
时间: 2023-11-04 18:18:16 浏览: 80
数组指针与指针数组
5星 · 资源好评率100%
数组的指针和指针数组是两个不同的概念。
数组的指针是指一个指向数组第一个元素的指针。例如,int arr[5] = {1, 2, 3, 4, 5}; int *ptr = arr; 这里,ptr指向arr数组的第一个元素1。
指针数组是指一个数组,其中每个元素都是一个指针。例如,int *ptr_arr[5]; 这里,ptr_arr是一个包含5个元素的数组,每个元素都是指向int类型的指针。
可以通过下面的代码来理解它们的区别:
```c
#include <stdio.h>
int main() {
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;
printf("arr[0]: %d\n", arr[0]); // 输出:arr[0]: 1
printf("*ptr: %d\n", *ptr); // 输出:*ptr: 1
int a = 1, b = 2, c = 3;
int *ptr_arr[3] = {&a, &b, &c};
printf("*ptr_arr[0]: %d\n", *ptr_arr[0]); // 输出:*ptr_arr[0]: 1
printf("*ptr_arr[1]: %d\n", *ptr_arr[1]); // 输出:*ptr_arr[1]: 2
printf("*ptr_arr[2]: %d\n", *ptr_arr[2]); // 输出:*ptr_arr[2]: 3
return 0;
}
```
可以看到,数组的指针是指向数组第一个元素的指针,而指针数组是一个数组,其中每个元素都是一个指向某个类型的指针。
阅读全文