C语言定义一个数组的时候,用char * s 和 char s[]有什么区别?

#include<stdio.h>intmain(){char*string="Iamstudent";*string='t';printf("%s",string);r... #include<stdio.h>
int main()
{
char *string="I am student";
*string='t';
printf("%s",string);
return 0;
想把I变成t,运行不了。
char *string="I am student";改成char string【】="I am student"就可以。
请问这两种定义方法有什么区别呢?还有要给用char *string="I am student";定义的数组修改里面的元素要怎么操作。
展开
 我来答
匿名用户
2020-02-29
展开全部
"I am student"是放在常量区的,是不能修改的
char string【】="I am student",编译器会把字符串从常量区复制到栈区,就可以修改了,其实修改的是复制后的字符串,常量区的并没有被修改
拥抱每一天哦
2020-03-10 · TA获得超过267个赞
知道小有建树答主
回答量:751
采纳率:79%
帮助的人:72.5万
展开全部
char *string是在常量区,不能修改它的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式