指向常量的指针:该指针指向的值不能改变,指针不是常量,所以可以修改指针的指向

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; }