char *str1[]=charstr2[][]
1.二阶指针
char **p1=str1=str2
str1=&str1[0]
str2=&str2[0]=&&str2[0][0]
2.一阶指针
str1[0]=&a(a为所承载的内容,为字符串)
str2[0]=&str2[0][0](str2[0][0]为字符串的首位字符)
一般使用字符串数组,输入字符串到其中时即使用该一阶指针
需注意,应提前给该一阶指针分配内存,否则无法承载内容
#include <stdio.h>
#include <stdlib.h>
int main()
{
str1[0]=(char*)malloc(1000);//分配内存
str2[0]=(char*)malloc(1000);
scanf("%s",str1[0]);//输入字符串
scanf("%s",str2[0]);
printf("%s",str1[0]);//输出字符串
printf("%s",str2[0]);
free(str1[0]);//释放内存
free(str2[0]);
}
3.其他
str1[0]+n=str1[n]
str1[0][n]=str2[0][n](均表示各自第一个字符串的第n个字符)