
c语言字符串数组和字符串指针数组的区别?
字符串数组的值和指针数组的地址区别?指针数组的值为什么可以改变,而字符串数组的值不可以改变是为什么?...
字符串数组的值和指针数组的地址区别?
指针数组的值为什么可以改变,而字符串数组的值不可以改变是为什么? 展开
指针数组的值为什么可以改变,而字符串数组的值不可以改变是为什么? 展开
1个回答
展开全部
两者在读数据时没有什么区别,在写数据时有区别,如
char p1[]="hello";
char *p2="hello";
printf("%s,%s",p1,p2); //读数据都显示hello
char p1[]="hello";
char *p2="hello";
p1[2]='o'; //这一句正确,数组中元素的值可以改变
p2[2]='o'; //这一句运行时会出错,因为p2指向的是一个字符串常量,不能改变常量的值。
char p1[]="hello";
char *p2="hello";
printf("%s,%s",p1,p2); //读数据都显示hello
char p1[]="hello";
char *p2="hello";
p1[2]='o'; //这一句正确,数组中元素的值可以改变
p2[2]='o'; //这一句运行时会出错,因为p2指向的是一个字符串常量,不能改变常量的值。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询