大家好,我是苏貝,本篇博客是系列博客每日一题的第一篇,本系列的题都不会太难,如果大家对这种系列的博客感兴趣的话,可以给我一个赞👍吗,感谢❤️
文章目录
- 一.const修饰普通变量
- 二.const修饰指针
- 1.const 放在 * 左边
- 2.const 放在 * 右边
- 3.const 放在 * 左右两边
一.const修饰普通变量
用const修饰普通变量时,是在语法层面限制了变量的修改,但是本质上,变量还是变量,是一种不能被修改的变量。以下两种定义方式都可以:
const int a = 10;int const b = 10;
变量的值不能修改,否则会报错
但变量的值可以通过指针进行修改:
所以为避免变量的值被修改,同时又需要使用指针指向变量,那么就让const修饰指针
二.const修饰指针
const 可以放在 * 左边 ,可以放在 * 右边 ,也可以放在 * 左右两边,这3种方式的意义各不相同
1.const 放在 * 左边
const 放在 * 左边限制的是指针指向的内容,也就是说:不能通过指针来修改指针指向的内容,但是指针变量是可以修改的,也就是指针可以指向其它变量
int main()
{const int a = 10;const int* p = &a;*p = 20;//errint b = 20;p = &b;//okreturn 0;
}
2.const 放在 * 右边
const 放在 * 右边限制的是指针变量本身,指针变量不能再指向其它内容,但是可以通过指针变量来修改指针指向的内容
int main()
{const int a = 10;int* const p = &a;*p = 20;//okint b = 20;p = &b;//errreturn 0;
}
3.const 放在 * 左右两边
const 放在 * 左右两边限制的是指针变量本身和指针变量指向的内容,也就是说:不能通过指针来修改指针指向的内容,指针也不能指向其它变量
int main()
{const int a = 10;const int* const p = &a;*p = 20;//errint b = 20;p = &b;//errreturn 0;
}
好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️