char a[] = "hello";
Run Code Online (Sandbox Code Playgroud)
我的理解是,a行为就像一个指向字符串的常量指针.我知道写作a++不会奏效,但为什么呢?
不,增加一个数组是不行的.虽然数组可以自由转换为指针,但它们不是指针.因此,写入a++将触发错误.
但是,写作
char *p = a;
p++;
Run Code Online (Sandbox Code Playgroud)
很好,因为p是指针,其值等于a初始元素的位置.