网站首页 > 文章精选 正文
const定义常变量
C++提供了const关键字来定义一个“常量”,例如,我们定义一个变量,变量中的数据不可以被修改,那么,可以使用const关键字声明变量,定义变量是“常量”类型。例如:
const float PI = 3.14159;
定义了常变量PI,它具有变量的属性,有数据类型,占用存储单元,有地址,可以使用指针指向它,只是,在程序运行期间,这个常变量的值是固定的,不能改变。
所以,在C++编程中,都使用const来取代了用 #define 定义符号常量的作用。一般把程序中不允许改变值的变量定义为常变量。如下是测试的例子:
可以看到,我们定义了LEN宏,可以使用LEN宏来定义字符数组的长度。
同时,我们使用const关键字来定义一个常变量MAX_NUM,然后,可以使用MAX_NUM常变量来定义字符数组的长度。如果MAX_NUM是普通的变量,那么,不可以作为字符数组长度的定义。
而且,不可以修改常变量的数据。例如,修改代码如下:
可以看到,提示MAX_NUM是只读类型。所以,不可以修改常变量的值。
const 修饰指针
假设有如下定义一个指针:
int a = 12689;//定义int类型的变量a;
int* p = &a; //定义int*类型的指针变量p,并且设置变量a 的地址,所以,指针p指向变量a;
那么,const 在 int* p 这个形式中,可以存放在两个不同的地方,存放在不同的地方,就修饰不同的内容为“常量”。
(1) const 紧跟着指针变量后面,例如:
char* const pstr = "mylinux.vip";//定义pstr指针变量,指向一串字符串;
就是 const 后面紧接这 pstr,所以, const 就修饰 pstr 这个指针,那么,pstr 就是一个常量,所以,pstr存放的地址值是一个常量,不可以改变。就是不可以修改pstr指针变量存放的数值(pstr指针变量存放的地址值)。例如:
所以,pstr是只读类型,不可以修改pstr指针变量的值。不可以修改pstr指针变量存放的地址值。
(2) const 紧跟在指针类型的后面,例如:
const char* pstr = " mylinux.vip ";//定义pstr指针变量,指向一串字符串
猜你喜欢
- 2025-03-17 C++|剖析函数参数为const引用时,要求其指向一个生成的临时变量
- 2025-03-17 c语言那些事儿:指针数组和数组指针傻傻分不清?
- 2025-03-17 C语言指针与函数(c语言指针函数的用法)
- 2025-03-17 C语言通用工具库的4个函数(c语言运行工具)
- 2025-03-17 C++ 指针总结(c++ 指针操作)
- 2025-03-17 C语言100题集合023-输入月份号并输出英文月份名
- 2025-03-17 TypeScript 使用let和const声明变量
- 2025-03-17 C语言之指针与数组(c语言中指针数组的使用方法)
- 2025-03-17 C/C++的const常量总结(c++ const详解)
- 2025-03-17 const关键字到底该什么用?(java中const关键字的作用)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)