若有声明语句“inta;constint*p=&a;”,则。
A: p是一个指向常量的指针,不能通过p来改变所指对象a的值
B: p是一个指针型的常量,不能通过p来改变所指对象的值
C: p是一个指向常量的指针,所以a的值不能被改变
D: p是一个指针型的常量,所以a的值不能被改变
A: p是一个指向常量的指针,不能通过p来改变所指对象a的值
B: p是一个指针型的常量,不能通过p来改变所指对象的值
C: p是一个指向常量的指针,所以a的值不能被改变
D: p是一个指针型的常量,所以a的值不能被改变
举一反三
- 若有声明语句“int a; int * const p=&a;”,则 。 A: p是一个指针型的常量,指针p本身的值不能被改变 B: p是一个指针型的常量,a的值不能被改变 C: p是一个指向常量的指针,所以a的值不能被改变 D: p是一个指向常量的指针,指针p本身的值可以改变
- const修饰变量,变量的值不能改变。const修饰指针:指针常量:不能通过指针来修改变量的值。指针可以指向其他常量。常量指针:一直指向该变量,不能给该指针赋予其他地址。变量值可以修改。
- int * const p2 = &a;则指针p的值不能被改变。
- 语句const char *p; 定义了p是指向字符串的常量指针。
- 对于指针类型的常量,即指针常量本质上是一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。指针常量(指针类型的常量)与常量指针(指向常量的指针)的一个区别在于:指针常量指向的对象(目标)的内容是可以修改的,但不能修改该指针常量所指向的对象(目标)。而常量指针指向的对象(目标)的内容是不可以修改的,但可以将其指向其他的对象(目标)。