C语言中const关键字的一些用法
C语言中的const一直是C语言初学者心中的痛,这是因为const在不同位置有不同作用,在不同情景有不同角色。这让初学者摸不清头脑。这里介绍一些const的经典用法。
操作方法
- 01
修饰局部变量,int const a = 9; const int b = 8;这两种写法是一样的,表示a和b都是常量,不可改变。需要注意的是,用const修饰变量时,一定要给变量初始化,否则之后就不能再进行赋值了。
- 02
常量指针,指针指向的内容不能改变,int const *p; 或const int *p;这两种写法是一样的,表示p指向的内容是常量。需要注意两点: 1、常量指针说的是不能通过这个指针改变变量的值,但是还是可以通过其他的引用来改变变量的值的。 2、常量指针指向的值不能改变,但是这并不是意味着指针本身不能改变,常量指针可以指向其他的地址。
- 03
指针常量,指针本身是个常量,不能在指向其他的地址,int *const p; 表示指针p是个常量,它本身不可改变。需要注意的是,指针本身不可变,但指向的对象可变。
- 04
区分常量指针和指针常量的小技巧,按const=常量,*=指针,替换表达式,const在前就是常量指针,指针指向对象不可变,但指针本身可变;*在前就是指针常量,指针本身不可变,但指向的对象可变。
- 05
指向常量的指针常量,const int *const p; 表示指针本身不可变,也不能通过指针修改所指向地址的内容。需要注意的是,依然可以通过其他引用修改该指针指向地址的内容。
- 06
const还经常用于修饰函数参数,这样做可防止一些非预期的参数修改。
- 07
以上就是关于const的一些经典用法与说明,如有疑问,欢迎沟通,谢谢!
赞 (0)