#include <stdio.h>
int main()
{
//定义四个字符数组
char Name_a[255] = {0};
char Name_b[255] = {0};
char Name_c[255] = {0};
char Name_d[255] = {0};
//定义四个字符指针分别指向四个数组
char *a = Name_a;
char *b = Name_b;
char *c = Name_c;
char *d = Name_d;
//打印第一个数组和指针地址
printf("%d\n",Name_a);
printf("%d\n",a);
a = "daddd";
//再次打印地址
printf("%d\n",a);
//数据
printf("%s",Name_a);
printf("%s",a);
//将指针作为数组数据
char** Name[4] = {&a,&b,&c,&d};
for(int i = 0; i < 4; i++)
{
*Name[i] = "wen";
}
/*
char* Name[4] = {a,b,c,d};
for(int i = 0; i < 4; i++)
{
Name[i] = "wen";
}
上面的操作是错误的,例如,a是Name的一个元素,当对Name[i]赋值是,相当于直接改变了数组的内容,而不是改变了指针a的内容
*/
printf("%s",a);
return 0;
}