-
1.修饰局部变量,int const a=10;const int b=8;这两种写法是一样的,表示a和b 都是常量,不可以改变。在用const 修饰变量时,一定要给变量初始化,否则之后就不能再进行赋值了。
代码举个例子:
-
2.常量指针,指针指向的内容不能改变,int const * p;或者 const int * p;这两种写法是一样的,表示p指向的内容是常量。需要注意两点:
①:常量指针说的是不能通过这个指针改变变量的值,但是还是可以通过其他的引用改变变量的值。
②:常量指针指向的值不能改变,但是这并不是意味着指针本身不能改变,常量指针可以指向其他的地址。
小结:int const * p; const int * p (*p不能改,p可以改) -
3.指针常量,指针本身是个常量,不能在指向其他的地址,int *const p; 表示指针p是个常量,它本身不可改变。需要注意的是,指针本身不可变,但指向的对象可变。
小结:int const p(p不能修改, p 可以修改) -
3.指向常量的指针常量,const int * const p; 表示指针本身不可变,也不能通过指针修改所指向地址的内容。
小结:const int * const p(p 与 *p都不能被修改)