注释了一下,可供参考:
#include <stdio.h>
int main()
{
char *mm[4]={"abcd","1234","mnop","5678"};//定义一个二维指针数组
char **pm=mm;//定义一个指针的指针指向指针数组名
int i;
for(i=0; i<4; i++)
printf("%s",pm[i]+i);//这里的pm[i]+i就是mm数组的第i行的字符串从第i个开始输出,直到‘\0’结束,所以i=0,输出的就是abcd,i=1输出的就是234,i=2输出的是op,i=3输出的是8
printf("\n");
return 0;
}
运行结果如图:
如有帮助,还请帮忙点下采纳!感谢!
当然是字符串知识了,也包括数组知识
pm[i]+i,由于i从0到3变化,所以逐个遍历所有字符串,pm[i]表示第几个字符串,+i表示字符串的第几个字符开始
pm[0]+0就是第0个字符串
pm[1]+1就是第1个字符串的第1个字符开始
如此类推