前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >char *string=”xxxxxxxxx” 与 char string[]=”xxxxx”的区别

char *string=”xxxxxxxxx” 与 char string[]=”xxxxx”的区别

作者头像
全栈程序员站长
发布2022-09-23 10:23:18
5680
发布2022-09-23 10:23:18
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈

char *string=”xxxxxx“

这种方式使用的字面值模式,只读,不可以修改。string是个指针,这个字符串存放在程序的RODATA(read-only)段,不能修改的!

表示你定义了一个字符指针,这个指针指向一个字符串常量,既然是常量那么通过这个指针修改这个常量是不可以的。

char string[]=”xxxxx”

这种方式,字符串存储在数组中,可以修改,string是个数组。这个字符串存放在程序的数据栈中,动态分配的内存,可以修改的.是个变量!

表示你定义了一个字符数组,数组的长度省略没有给出,编译器会根据后边的字符串自动计算,比如这个就是12(11个字符再加一个隐含的结束符’\0’),这个字符数组修改当然就没有问题了

总结

两者的重点在于一个是只读的,常量,内容不可修改!一个是字符串,动态分配内存的,是个变量,内容可以修改!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172130.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • char *string=”xxxxxx“
  • char string[]=”xxxxx”
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档