C语言数组指针和指针数组
时间: 2023-06-01 20:02:39 浏览: 155
C语言 指针与数组的详解及区别
5星 · 资源好评率100%
C语言中有两种常见的指针类型:数组指针和指针数组。
数组指针:
数组指针是一个指向数组的指针。它指向数组的第一个元素,可以通过指针来访问整个数组。数组指针的声明方式为:
```c
int (*p)[n];
```
其中,p是一个指向n个整型元素的数组的指针。例如,以下代码声明了一个指向有3个整型元素的数组的指针p:
```c
int a[3] = {1, 2, 3};
int (*p)[3] = &a;
```
使用数组指针访问数组元素的方式如下:
```c
(*p)[0] = 4;
(*p)[1] = 5;
(*p)[2] = 6;
```
指针数组:
指针数组是一个数组,其元素是指针。每个指针都指向一个不同的对象,可以是变量、数组或函数。指针数组的声明方式为:
```c
int *p[n];
```
其中,p是一个包含n个指向整型元素的指针的数组。例如,以下代码声明了一个包含3个指向整型元素的指针的数组a:
```c
int a[3] = {1, 2, 3};
int *p[3] = {&a[0], &a[1], &a[2]};
```
使用指针数组访问数组元素的方式如下:
```c
*p[0] = 4;
*p[1] = 5;
*p[2] = 6;
```
注意,指针数组中的每个元素都是一个指针,需要先解引用指针才能访问其指向的对象。
阅读全文