const关键字与指针

const关键字与指针
1、const关键字,在C语言中用来修饰变量,表示这个变量是常量。
2、const修饰指针有4种形式,
第一种:const int *p1;        //p本身不是const的,而p指向的变量是const的
  *p1 = 3;//错误的,const变量不能修改
  p1 = 3; //正确的
第二种:int const *p2;        //p本身不是const的,而p指向的变量是const的
        *p2 = 3;//错误的,const变量不能修改
  p2 = 3; //正确的
第三种:int * const p3;       //p本身是const的,而p指向的变量不是const的
        *p3 = 3;//正确的
  p3 = 3; //错误的,const变量不能修改
第四种:const int * const p4; //p本身是const的,而p指向的变量是const的
        *p4 = 3;//正确的
  p4 = 3; //正确的
3、关于指针变量的理解,主要是涉及到两个变量:第一个是指针变量p本身,第二个是p指向的那个变量。一个const
只能修饰其中一个变量。
4、const在实际使用过程中,并不是一定不能被修改,通过一些特定的方法(比如说是指针)也是可以被修改掉的。
只是大部分情况下,我们既然定义了const类型的变量,就不会去修改这个变量。所以指针使用的时候,一定要谨
慎,不然就有可能改变了const类型的变量,导致程序出现问题,而程序员还不知道是由于const变量被修改导致的
程序bug。

原文地址:https://www.cnblogs.com/jiangtongxue/p/11363981.html