Gives a segmentati-6ren">
gpt4 book ai didi

C 中的字符指针解释

转载 作者:太空宇宙 更新时间:2023-11-04 06:50:10 25 4
gpt4 key购买 nike

我是 C 的新手。所以,愚蠢的问题警报!我想了解编译器如何解释以下语句。

char *str="string1";
*str = "string2"; --> Gives a segmentation fault
puts(ptr);

虽然这行得通

char *ptr="string1";
puts(ptr);
ptr="string2";
puts(ptr);

最佳答案

这个

*str = "string2";   --> Gives a segmentation fault

应该这样写:

str = "string2";

str 标识符是 char* 类型,即指向 char 的指针。为了避免错误,你可以这样写:

char* str;

另外,您正在为变量分配一个常量 字符串。因此,如果您想将可修改的字符串分配给 str,请使用 strcpy(字符串复制):

char str[40];
strcpy(str, "My string");
str[2] = '_'; //replacing space with underscore

关于C 中的字符指针解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52684320/

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