c/c++ 自己对const修饰指针的理解

来源:互联网 发布:sai mac版下载 编辑:程序博客网 时间:2024/05/04 12:19

 /*
 //const 修饰的*pth,所以对pth指针所指向的内存,是const的,但是指针本身可以变(即可以指向别的变量)
 int a=10;
 int b=11;
 const int *pth;
 pth=&a;
 pth=&b;
 //与上面一样
 int a=10;
 int b=11;
 int const *pth;
 pth=&a;
 pth=&b;
 */
 /*
 //const 修饰的是pth,即指针本身被修饰,所以指针指向的值是固定不变的,但是指针指向的内容的值是可以通过该指针进行修改的。
 int a=10;
 int b=11;
    int* const pth=&a;
    *pth=11;
 */
 printf("pth is %d\n",*pth);
 getchar();
 return 0;

 

主要要看清楚const修饰的是谁。如果是指针指向的内容,那就是内容不能用此指针去改变,如果修饰的是指针本身那么指针本身的指向不能改变,但是可以改变指针指向的内容。