C字符串数组有关问题

C字符串数组问题

#include <iostream>
using namespace std;

int main()
{
    char c[6] = "hello";

    c = "s"; //为什么c是不可被修改的左值
    c[2] = 's'; //而c中的元素都可以被修改?

    return 0;
}

------解决思路----------------------
因为单纯一个【c】代表的是数组的首地址,即一个地址编号,而地址编号不可以被更改。
如果你用指针引用一下就可以更改了,如 【*c = 's';】,注意,它更改的只是数组首地址的值,即【c[0]】的值。而【c[0]】的地址编号依然不可以更改