
const与常量,傻傻分不清楚~
发布日期:2021-05-09 00:21:44
浏览次数:9
分类:博客文章
本文共 610 字,大约阅读时间需要 2 分钟。
当数组的长度在运行中才能够确定时,普通的静态数组无法满足要求,此时需要动态数组来实现.
今天突然想,const变量在初始化时可以接受变量的赋值,那么可不可以用它来定义一个静态数组呢?于是有下面的尝试:
int main(){ int count = 2; const int DIM0 = count; return 0;}
这样去初始化DIM0是没有问题的,程序可以运行,DIM0的类型是const int;
接着在下面添加了一行,编译器却在第4,5行都报"表达式的计算结果不是常数"的错误.
1 int main()2 {3 int count = 2;4 const int DIM0 = count;5 int a[DIM0] = { 1, 2 };6 7 return 0;8 }
接着对比了下面的代码:下面的能够运行是没有问题的,此时DIM0的类型也是const int.
那么问题就来了,都是const int的DIM0,为什么前面的会出错,而下面的没有问题的.
这是因为const int和常量是两回事:const只能说是不能够修改,并不代表常量的意思,具体还是要看后面的值.
1 int main()2 {3 const int DIM0 = 2;4 int a[DIM0] = { 1, 2 };5 6 return 0;7 }
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月05日 18时52分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
WinUI 3 Preview 3 发布了,再一次试试它的性能
2021-05-09
使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)
2021-05-09
List数组排序
2021-05-09
VMware vSphere 离线虚拟机安装 BIND 9
2021-05-09
说说第一份工作
2021-05-09
dojo/request模块整体架构解析
2021-05-09
dojo/aspect源码解析
2021-05-09
Web性能优化:What? Why? How?
2021-05-09
Javascript定时器学习笔记
2021-05-09
dojo的发展历史
2021-05-09
Liunx百宝箱(Centos补充)
2021-05-09
Python存储系统(Redis)
2021-05-09
C语言指针收藏
2021-05-09
.net 4种单例模式
2021-05-09
T4 生成数据库实体类
2021-05-09
C#搞个跨平台的桌面NES游戏模拟器
2021-05-09
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
2021-05-09
《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
2021-05-09
互联网App应用程序测试流程及测试总结
2021-05-09
根据轨迹分析出用户家在哪
2021-05-09