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

char *string=”xxxxxxxxx” 与 char string[]=”xxxxx”的区别char*string=”xxxxxx“这种方式使用的字面值模式,只读,不可以修改。string是个指针,这个字符串存放在程序的RODATA(read-only)段,不能修改的!表示你定义了一个字符指针,这个指针指向一个字符串常量,既然是常量那么通过这个指针修改这个常量是不可以的。charstring[]=”xxxxx”这种方式,字符串存储在数组

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

char *string=”xxxxxx“

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

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

char string[]=”xxxxx”

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

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

总结

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年8月22日 上午8:16
下一篇 2022年8月22日 上午8:16


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号