相关疑难解决方法(0)

为什么在写入用"char*s"而不是"char s []"初始化的字符串时会出现分段错误?

以下代码在第2行接收seg错误:

char *str = "string";
str[0] = 'z';  // could be also written as *str = 'z'
printf("%s\n", str);
Run Code Online (Sandbox Code Playgroud)

虽然这非常有效:

char str[] = "string";
str[0] = 'z';
printf("%s\n", str);
Run Code Online (Sandbox Code Playgroud)

经过MSVC和GCC测试.

c c-strings segmentation-fault

277
推荐指数
10
解决办法
7万
查看次数

C中的char数组与char指针有什么区别?

我试图理解C中的指针,但我目前对以下内容感到困惑:

将这两个变量都传递给这个函数有什么区别?

void printSomething(char *p)
{
    printf("p: %s",p);
}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

205
推荐指数
6
解决办法
33万
查看次数

标签 统计

c ×2

arrays ×1

c-strings ×1

pointers ×1

segmentation-fault ×1