这两个的关系,就跟指针数组、数组指针一样,初学者,很难分的清。
我们听过整型常量、字符常量、字符串常量。整型常量是个不能修改的整数,字符常量是个不能修改的字符。
char arr[] = "helloworld";
char *const p = arr;
比如指针p,因为它被const修饰,所以p不能修改。
char str[] = "helloworld";
char *const p = str;
char **q = (char **)&p;
(*q)++;
以上代码,可以让指针 p 指向字符'e'。
我们知道整型指针、字符指针。整型指针是指针指向整数,字符指针是指针指向字符,那常量指针就很好理解了,指针指向常量。
char *p = "helloworld";
比如这样的代码。字符串"helloworld"存放在只读数据区,我们一般称它为字符串常量,指针p指向这个字符串,所以就可以把p称作常量指针。
const char *p = "helloworld";
在语句的前面加上const就更能说明问题了。
*p = 'a';
编译的时候就会报错。全部0条评论
快来发表一下你的评论吧 !