C语言字符串数组可以修改吗

更新时间:02-09 教程 由 忘爱。 分享

C语言字符串数组可以修改吗?

不可以。当您在源代码中编写“String”时,它将直接写入可执行文件中,因为该值需要在编译时知道(有工具可以将软件分开并找到其中的所有纯文本字符串)。

当你写char *a = "This is a string",“这是字符串”的位置在可执行文件中,而指向的位置在可执行文件中。可执行映像中的数据是只读的。

您需要做的(如其他答案所指出的)是在堆上或堆栈帧上的位置创建该内存。

如果声明一个本地数组,则在堆栈上为该数组的每个元素创建空格,并将字符串文字(存储在可执行文件中)复制到堆栈中的该空间。

声明:关于《C语言字符串数组可以修改吗》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2307090.html