对以下C语言类型声明语句 double * const cptr;的解释正确的是()
A、cptr指向的地址以及地址内的内容均可以改变
B、cptr指向的地址不能改变
C、cptr指向的地址内的内容不能改变
D、cptr指向的地址以及地址内的内容均不能改变
正确答案: | B |
答案解析: | 考查C语言语法的“常量指针”和“指针常量”的基本概念。在C语言语法中,使用const 类型限定修饰符把一个对象转换成一个常量(constant),被转换成常量的对象是只读的,程序中任何试图修改它的举动都会在编译期引起错误; double * const cptr; 这样的表达形式是指针常量——即cptr首先是一个常量,它指向的地址内容不能改变,cptr目前指向的是一个double类型的对象,这个对象的内容是可以修改的; |