#include <stdio.h>
main()
{
int i;
char a[]="123";
char b[]="456";
char c[]="789";
char *p[3];
p[0]=a;p[1]=b;p[2]=c;
for(i=0;i<3;i++)
{
printf("%s",p[i]); //输出各个指针数组元素的内容
}
putchar('\n');
printf("%s",*p);//输出数组首元素的所有内容;
putchar('\n');
//第二种写法:
const char *e[3]; //若写成char*e[3]系统会提示:“不建议将字符串常量转换成char*" ,即使可以运行出结果,但属于编译错误
e[0]="ABC";
e[1]="DEF";
e[2]="GHI";
//或写成const char*e[3]={"ABC","DEF","GHI"};
printf("%s",*e); ;//输出数组首元素的所有内容;
}

这篇博客探讨了C语言中如何使用指针操作字符串数组。通过示例代码展示了如何初始化和遍历字符数组,并解释了使用`*p`访问数组首元素的原理。此外,还讨论了将字符串常量赋值给字符数组的不同方式及其潜在的编译错误。
1138

被折叠的 条评论
为什么被折叠?



