指针数组我们一般用来存放一组字符串,来进行比较或储存的作用,而操作指针数组可以通过两种方式,一种则是直接使用下标方式,而另外一种,则可以通过二级指针。我们可以通过一个非常简明的例子来了解他们之间的关系。
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char* pArray[] = { "apple", "nokia", "google", "samsung", "huawei", NULL }; // 通常把指针数组的最后一个元素设置为NULL // 这样就可以通过while循环直接遍历指针数组 // 而不需要知道指针数组内部元素的长度 char** p = pArray; // 指针数组可以直接赋值给二级指针 // pArray是指向一个指针数组首元素的char*类型的指针 // 对一个 char*类型的指针再引用就是char**类型 // 通过二级指针遍历指针数组中的内容 int i = 0; while (*p) { // 两种方法一致 printf("%s ", *p++); printf("%s\n", pArray[i]); i++; } system("pause"); return 0; }