直接上代码
const char * p
char const *p
两者是一样的,就是指向的内容是不可变的,但是指针本身的值可以改变
char * const p
跟上面相反指向的内容可以修改,指针本身不可以修改
但是现在的编译器都会把下面这段代码运行时会错误
char * const p = "abc";
p[0] = 'A';
理论上是可以修改的。编译器默认会把字符串当做const,这个是可以修改的,见http://faq.csdn.net/read/216941.html