C语言指针数组

C语言指针数组教程

C 语言 中,如果一个 数组 中的所有元素都是 指针,那么我们就可以说这个数组是一个指针数组,要注意与 数组指针 的区别。

C语言指针数组详解

定义

dataType *arrayName[length];

参数

参数 描述
dataType 指针数组中每一个元素的类型。
arrayName 指针数组变量名。

说明

我们定义了一个指针数组,该指针数组中的每一个元素都是一个 dataType 类型的地址,长度为 length。

案例

定义指针数组

定义一个指针数组,存放指针元素

#include <stdio.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); int a = 1024, b = 1100, c = 9898; int *pArr[3] = {&a, &b, &c}; int i = 0; for(i = 0; i < 3; i++) { printf("item = %d\n", *pArr[i]); } printf("\n"); return 0; }

程序运行后,控制台输出如下图所示:

41_C语言指针数组.png

我们首先,定义了三个 int 类型 的变量,接着,我们定义了一个指针数组,该指针数组存放了三个 int 类型变量的地址。

最后,我们使用 for 循环 遍历了指针数组中的所有的元素,因为,指针数组里面存放的是变量的地址,所以取出元素之后,我们还需要使用 * 取出其指向的元素的值。

定义指针数组

定义一个指针数组,存放字符串元素

#include <stdio.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); char *str0 = "HaiCoder"; char *str1 = "www.haicoder.net"; char *str2 = "C Language"; char *pArr[3] = {str0, str1, str2}; int i = 0; for(i = 0; i < 3; i++) { printf("str = %s\n", pArr[i]); } printf("\n"); return 0; }

程序运行后,控制台输出如下图所示:

42_C语言指针数组.png

我们首先,定义了三个 字符串,接着,我们定义了一个字符串指针数组,并使用了三个字符串进行了初始化,最后,我们使用 for 循环打印了指针数组中的所有元素。

C语言指针数组总结

在 C 语言中,如果一个数组中的所有元素都是指针,那么我们就可以说这个数组是一个指针数组。