指针数组就是一个数组,数组的每个元素是一个指针,指向一串字符的首地址
一篇可供参考的文章
#include<stdio.h>
int main(void)
{
const char* language[] = { "BASIC", "FORTRAN", "PROLOG", "JAVA", "C++" };
//指针数组也可以写出 *(language[ ])
const char** q;(填空)
int k;
for (k = 0; k < 5; k++) {
q =&language[k];(填空)
//q指向指针数组每个元素的地址 指针数组每个元素是字符串的首地址
printf("%s\n", *q);
//*q才是指针数组的每个元素的首地址(*q是题目给的 所以用而已指针
}
return 0;
}
//第二种写法 不用二级指针的指针数组
#include<stdio.h>
int main(void)
{
const char* language[] = { "BASIC", "FORTRAN", "PROLOG", "JAVA", "C++" };
const char* q;
int k;
for (k = 0; k < 5; k++) {
q =language[k];
//这样写也可 q =*(language+k)
printf("%s\n", q);
}
return 0;
}