【轻松学C:编程小白的大冒险】--- 07 常量的定义、声明与应用场景
创作时间:
作者:
@小白创作中心
【轻松学C:编程小白的大冒险】--- 07 常量的定义、声明与应用场景
引用
CSDN
1.
https://blog.csdn.net/weixin_44205779/article/details/146100783
在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。
【轻松学C:编程小白的大冒险】--- 07 常量的定义、声明与应用场景
今日冒险目标:驯服常量大魔王
欢迎回到C语言魔法学校!今天我们要收服编程世界里最固执的伙伴——常量。它像被封印的魔法水晶,一旦设定就永远不变!准备好学习如何用常量打造坚不可摧的代码了吗?
一、常量:被封印的魔法水晶
想象你有一个黄金宝箱:
- 一旦放入钻石,就永远无法取出或更换(
const常量) - 用魔法契约提前规定好内容(
#define宏常量) - 只能读取,不能修改(永恒不变的规则)
定义常量:
const int MAX_SCORE = 100; // 用const封印的整数常量
#define PI 3.1415926535 // 用#define契约规定的浮点数
二、封印魔法:常量的内存秘密
当你写下const int a = 5;时,编译器会:
- 在内存中分配4字节空间(同int变量)
- 贴上"只读"封条(禁止修改)
- 存进去数字5
内存示意图:
内存地址 | 内容 | 标签 | 权限
0x2000 | 05 | MAX_SCORE | 只读
0x2004 | 0A | age(变量) | 读写
冷知识:
const常量在编译时检查修改行为(会报错)#define宏在预处理阶段直接替换(无类型检查)
三、常量的魔法应用
1. 数学公式
#define GRAVITY 9.8 // 重力加速度
float distance = 0.5 * GRAVITY * time * time;
2. 安全防线
const int LOGIN_ATTEMPTS = 3; // 最大登录次数
for (int i = 0; i < LOGIN_ATTEMPTS; i++) {
// 登录逻辑
}
3. 配置文件
#define SERVER_URL "http://api.example.com"
// 网络请求使用固定URL
四、封印方式大比拼
类型 | 语法 | 作用时机 | 特性 |
|---|---|---|---|
const | const int a = 5; | 编译阶段 | 有类型检查,内存中有存储 |
#define | #define A 5 | 预处理阶段 | 无类型检查,直接文本替换 |
🌰 举个栗子:
const float PI = 3.14f; // 正确,类型匹配
#define PI 3.14f // 正确,但可能被重新定义
五、常量的生存法则
1. 生命周期
- 与变量相同:全局常量程序启动时存在,局部常量函数运行时存在
2. 作用域
const常量:与变量作用域一致(文件、函数、代码块)#define宏:从定义处到文件结束(可用#undef提前解除)
六、小课堂
专业术语:
常量表达式:编译时能计算出结果的表达式(如
1+2)类型安全:
const比#define更安全,防止类型不匹配错误编程冷笑话:
Q:为什么#define宏不能当const用?
A:因为它是个"文字游戏玩家",而const是"内存管家"。
七、今日金句
变量像河流可以流动,常量像山脉永远矗立,两者结合才能写出刚柔并济的代码!
热门推荐
黄质夫:陶行知教育思想的实践者
玄门道易:十二精药,七宝香药在风水调理中的神奇及妙用!
躯体化障碍怎么检查
无线电力传输检测:技术原理与检测方法详解
山东潍坊十大特色美食,从传统鲁菜到地方小吃,每一道都让人回味无穷
经济不稳,家庭存款多少才算有钱?这4个条件你符合几个?
普法|租赁车牌不可为 小心法律风险
北京装修全包和半包还有清包的区别是什么?需要注意哪些细节?
埋线减肥能紧致皮肤吗?
揭秘艾滋病检测:为何需要多次确认?一次检测足够吗?
易学大师王镜海教你如何判断正缘
单招录取如何退档?被退档的原因有哪些?
正在和你视频通话的人,真的是熟悉的TA吗?
2025年外贸发展趋势:贸促系统数据展现强劲增长态势
Windows 10系统下截取长图的三种实用方法
三国英雄后人今何在?刘备后人仍在传承草鞋文化
为什么有些发票打印出来没有看到税务局的监制章呢?
大学的水平决定城市的水平,大学的高度代表城市的高度
关注压力性损伤,守护肌肤健康
樱花季叠加小长假 航司扎堆布局赴日线
怎么判断电脑DLSS是否开启?
德候任总理默茨对华态度如何 深化中德经贸合作
钉钉项目如何导出文档
哪些方法可以提高血清素
奥美拉唑治疗消化性溃疡的主要作用机制
盘点:热门葡萄品种及市场前景!
春天最该吃的绿叶菜,还是养肝的“一把手”!浑身都是宝,润肠通便
公历阳历的区别,阳历和阴历怎么区分?
班里多名同学呕吐腹泻,不是食物中毒!真凶竟然是它!
口腔溃疡可以用盐撒在上面吗?这样做不仅无效还可能加重病情