gpt4 book ai didi

c - 我怎样才能复制到C中的字符串文字

转载 作者:行者123 更新时间:2023-11-30 20:50:08 24 4
gpt4 key购买 nike

char temp1[4] = "abc";
char *temp2 = "123";
strcpy(temp1,temp2);

如果我想将字符串文字复制到数组,它工作得很好,但如果我以相反的方式执行,则会收到错误:

char temp1[4] = "abc";
char *temp2 = "123";
strcpy(temp2,temp1);

编译器的反馈是“Segmentation failure”。

那么有什么区别呢?有没有办法将字符串复制到字符串文字?

谢谢。

最佳答案

您需要了解这两行之间的细微差别

char temp1[4] = "abc";
char *temp2 = "123";

第一个创建一个 4 字符变量并将“abc\0”复制到其中。
如果您愿意,可以覆盖它。你可以这样做temp1[0] = 'x' 如果需要的话。

第二个创建一个指向常量文字“123\0”的指针。
您无法覆盖它,它通常位于被声明为操作系统只读的内存中。

关于c - 我怎样才能复制到C中的字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50688580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com