指向常量的指针:该指针指向的值不能改变,指针不是常量,所以可以修改指针的指向
int main(void)
{
int value = 10;
/*定义一个指向常量的指针*/
const int *pValue = &value;
//pValue = &value;
/**
*
* 编译器会报错,*pValue是只读的。
* 也就是指针指向的值不能改变
*/
/**
* 这个赋值编译器会报错 assignment of read-only location '*pValue'
* 因为*pValue指向的值是常量,所以不能改变。
*/
*pValue = 20;
/*但可以对value的值进行改变*/
int number = 30;
/**
* 指针不是常量,所以可以修改指针的指向
*/
pValue = &number;
return 0;
}
常量指针 #include <stdio.h>
/**
-
常量指针
-
指针中存储的地址不能改变 */ int main(void) { int value = 10; int *const pValue = &value;
int item = 34; /**
- 编译器报错,assignment of read-only variable 'pValue'。
- 说明不能修改指针中存储的地址 */ pValue = &item; /但是可以修改地址所指向的值/ *pValue = 24; return 0; }