C语言中的常量指针和指针常量


#include<stdio.h>
 
int intData=10;
 
//const在前面
//理解为const修饰的是指向的值
//指向的值不能通过这个指针修改
const int* constP=&intData;
 
//const在后面
//理解为const修饰的是指针本身
//这个指针不可以改变指向的位置
int* const Pconst=&intData;
 
//前后两个位置都有const修饰也是可以的
//那就两个的特性都有
 
int main()
{
    //错误:不能修改变量的值
    //*constP=20;
 
    //正确:可以修改指向的位置
    constP=constP+1;
 
    //错误:不可以修改指向的位置
    //Pconst=Pconst+1;
 
    //正确:可以修改变量的值
    *Pconst=20;
 
    return 0;
}