C++指针数组

C++指针数组教程

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

C++指针数组详解

定义

dataType *arrayName[length];

参数

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

说明

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

案例

定义指针数组

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

#include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; int a = 1024, b = 1100, c = 9898; int *pArr[3] = {&a, &b, &c}; for(int i = 0; i < 3; i++) { cout << "Item = " << *pArr[i] << endl; } return 0; }

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

41_C指针数组.png

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

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

定义指针数组

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

#include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; char *str0 = "HaiCoder"; char *str1 = "www.haicoder.net"; char *str2 = "C++ Language"; char *pArr[3] = {str0, str1, str2}; for(int i = 0; i < 3; i++) { cout << "Str = " << pArr[i] << endl; } return 0; }

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

42_C指针数组.png

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

C++指针数组总结

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