要求指针p既不可以修改其本身的内容,也不可修改其所指向地址的内容,定义正确的是( )
A、
const char *p=“ABCD”;
B、
char *const p="ABCD";
C、
char const *p="ABCD";
D、
const char * const p="ABCD";
【正确答案】:D
【题目解析】:
C++语言也可以使用const限定访问权限,const修饰指针变量时,基本含义如下:
1)如果唯一的const位于符号*的左侧,表示指针所指数据是常量,数据不能通过本指针改变,但可以通过其他方式进行修改;指针本身是变量,可以指向其他的内存单元。
2)如果唯一的const位于符号*的右侧,表示指针本身是常量,不能让该指针指向其他内存地址;指针所指的数据可以通过本指针进行修改。
3)在符号*的左右各有一个const时,表示指针和指针所指数据都是常量,既不能让指针指向其他地址,也不能通过指针修改所指向的内容。故本题选D。