const详解
Posted ~千里之行,始于足下~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const详解相关的知识,希望对你有一定的参考价值。
const用法的解析
被const修饰的变量一定不会修改吗?
n变量被const修饰时,当修改n的内容时出现了编译性的报错
我们可以通过指针变量p指向n,来间接修改n的值.只不过n的值未发生变化,*p发生了变化
既然被const修饰的变量可以被修改,那const存在的意义是什么呢?
结论:
- 告诉程序员(我定义的这个变量时时不容许被修改的)
- 告诉编译器(当我们通过指针指向要修改的变量时,需要强转,告知编译器,我明白我在修改一个常量)
const的位置
当用const修饰一个指针时,它的位置不同会有什么不一样的效果呢?
const在*的左面
此时该指针指向变量的内容不能修改,指针指向可以改变
const在*的右面
此时指针指向的变量内容可以修改,指针指向不可以修改
此时指针指向的变量内容,指针指向均不可以修改
结论:
const修饰指针变量的时候:
- const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改
变。但是指针变量本身的内容可变。 - const如果放在*的右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指
针指向的内容,可以通过指针改变
以上是关于const详解的主要内容,如果未能解决你的问题,请参考以下文章