给出以下定义,下列哪些操作是合法的?
const char *p1 ="hello"; char *const p2 = "world";
const char *p1;//表示常量指针,值不可变,指针指向可以变,故可以p1++,但不可p1[2]='w' char *const p2;//表示指针常量,值可变,但指针常量不可变,故不可p2++ //右边直接等于字符串,是一个字符串常量,标明该位置的值不可变,因而,虽然和指针常量结合在一起,但值还是不可变,故不可p2[2]='1';