1 #include<stdio.h>
2 char **design_array()//这个函数定义了一个指针,就可以返回数组名
3 {
4 static char a[] = {"beijing"};//此时的a在函数内定义的局部变量,需要做为返回值,必须加static
5 static char b[] = {"changhai"};
6 static char c[] = {"wuhan"};
7
8 static char *p_arry[] = {a, b, c, NULL};//此时指针数组名,类似二级指针常量(必须用二级指针来接受,并且数组名不可自增自减)
9 return p_arry;
10 }
11 int main(int argc, const char *argv[])
12 {
13 char **p = NULL;//定义二级指针,用来接受指针函数名
14 char *q = NULL;//定义一级指针,用来承接二级指针,代表普通数组名
15 int i = 0;
16
17 p = design_array();
18 for(i = 0; p[i] != NULL; i++)
19 {
20 for( q = p[i]; *q != '\0'; q++ )//打印出字符串数组里的单个字符
21 printf("%c ", *q);
22 putchar('\n');
23 }
24 putchar('\n');
25 return 0;
26 }