定义了指向常量的指针p的选项是( )
A、
const int *p;
B、
int *p;
C、
int* const p=&x;
D、
const int* const p=&x;
【正确答案】:A
【题目解析】:
const修饰指针变量时:
如果唯一的const位于符号*的左侧,表示指针所指数据是常量,数据不能通过本指针改变,但可以通过其他方式进行修改;指针本身是变量,可以指向其他的内存单元。
本题中,“指向常量的指针p”,表示指针所指数据是常量,故唯一的const位于符号*的左侧,选A。
注意:如果唯一的const位于符号*的右侧,表示指针本身是常量,不能让该指针指向其他内存地址;指针所指的数据可以通过本指针进行修改。
在符号*的左右各有一个const时,表示指针和指针所指数据都是常量,既不能让指针指向其他地址,也不能通过指针修改所指向的内容。