目录
1. const 限定一个变量时
2. const 限定一个指针时
2.1 指向常量的指针 const int* p;
2.2 常量指针 int* const p = &a;
3. 只读指针(指向常量的常量指针)
名称说明:关于 常量指针 和 指针常量 各个参考书目的叫法会有所区别,本文采用较符合语法的叫法: 指向常量的指针 和 常量指针。
字面解读:
- 指向常量的指针:有一个变量(也有可能是const修饰的变量)当被一个指针指向时,不能通过该指针改变这个变量,则这个指针称之为“指向常量的指针”, 这不意味着 指针不能改变,也不意味着这个变量不能改变,只是说,不能通过这个指针改变这个变量的值。
- 常量指针:具有常量性质的指针;首先有一个指针,这个指针具有常量的性质,即指针的值(或说指针的指向)不能改变,但可以通过指针去改变指向的变量的值。
问题:const int a = 10; a是否可以改变?
答案: c语言中允许改变,c++中不允许改变.
c语言改变一个const变量的方式:
#include
int main() {
/*
const 修饰的变量成为只读变量 常量
可以通过一级指针修改
*/
const int a = 10;
//a = 100; // err
printf("a的值:%d\n", a); // a的值:10
int *p = &a;
*p = 100;
printf("a的值:%d\n", a); // a的值:100
return 0;
}
c++改变一个const变量,但不成功的例子:
#include
int main()
{
const int a = 10;
std::cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?