针数组在定义一系列的字符串时使用到比较多,如下示例:
char *bandate[] = { “112500”, “9600”, “43000”, NULL };
指针数组中存放的是字符串的地址,如bandate[0]存放的是字符串"112500"的首地址。
指针数组可以用二维指针间接调用。实例如下:
#include <stdio.h>
int main(void)
{
char *bandate[] = { "112500", "9600", "43000", NULL };
int i=0;
char **p;
printf("%d, %p, %s\n", i++, bandate[0], bandate[0]);
printf("%d, %p, %s\n", i++, bandate[1], bandate[1]);
printf("%d, %p, %s\n", i++, bandate[2], bandate[2]);
printf("%d, %p, %s\n", i++, bandate[3], bandate[3]);
p = &bandate[0];
while(*p != NULL)
printf("%d, %s\n", i++, *p++);
getchar();
return 0;
}
输出结果如下:
0, 00096B30, 112500
1, 00096B38, 9600
2, 00096B40, 43000
3, 00000000, (null)
4, 112500
5, 9600
6, 43000
关于二维指针使用,经常用的地方如Linux系统下的APP编程,main函数的形式如下:
int main(int argc, char **argv)
关于二维指针方面的知识点,可以参考以下链接,讲的很详细:
图解c/c++多级指针与“多维”数组