二维字符串数组其实是对不同的字符串地址的索引。
示例代码
// sample code
//二维指针
char **sp;
sp = (char **)malloc(sizeof(char*)*3);
for(int i=0; i<3; i++)
{
sp[i] = (char *)malloc(128*sizeof(char));
sprintf(sp[i], "str %d", i);
}
printf("str 1:%s\n",sp[0]);
printf("str 2:%s\n",sp[1]);
printf("str 3:%s\n",sp[2]);
//二维指针数组
char *spt[3] = {"str1", "str2", "str3"};
printf("str 1:%s\n",spt[0]);
printf("str 2:%s\n",spt[1]);
printf("str 3:%s\n",spt[2]);
结果打印:
str 1:str 0
str 2:str 1
str 3:str 2
str 1:str1
str 2:str2
str 3:str3
内存存储参考:https://blog.csdn.net/huangzheguyun/article/details/6466329