为什么我们不能给char指针的字符串赋值?

时间:2019-07-27 18:42:08

标签: c string char

为什么我们不能将char分配给特定位置?

void string_reverse1(char *str) {
    str++;
    *str = 'q';
    printf("string = %c", *str);
}

int main(void)
{
    char *str = "stackoverflow";
    string_reverse1(str);
    return 0;
}

以上代码中出现错误。但是,当我将char *str更改为char str[]时,没有错误。为什么会这样?

1 个答案:

答案 0 :(得分:-2)

如果要控制指针并更改指针的值,请尝试使用allocate(),deallocate()和free()