const定义的变量,可以作为数组[ ]里面的值吗?
来源:互联网 发布:python创建临时文件夹 编辑:程序博客网 时间:2024/06/15 22:09
结论: 在c中是不可以的,在c++中可以。
证明:C++编译器把Const对象放在了符号表之中,C语言一般是放在只读数据区。【为什么C++编译器这么做?我想一个原因就是减少一些存储操作次数】。
//const.cint main(){ const int a = 100; int arr[a];//error printf("%d\n",sizeof(arr)); return 0;}/*总结:在c中,const是指不能被改变的变量,占有存储空间,所以编译器并不知道编译时的值,所以不知道该给数组定义多大的,而且数组定义时的下标必须为常量*///const.cppint main(){ const int a = 10; int arr[a]; //ok cout<<sizeof(arr)<<endl; return 0;}/****总结:C++中的const可以看成是编译期的常量,编译器先不给它分配空间,只是在编译的时候把它的值保存在名字表中,所以在定义数组时,已经可以知道它的值了,但是如果加上关键字extern或者取其地址,则会分配空间。*/
阅读全文
0 0
- const定义的变量,可以作为数组[ ]里面的值吗?
- C语言的数组可以用变量定义吗?
- jquery中用变量作为$()里面的id值
- ADS1.2不支持用CONST定义的常量作为数组长度
- 在堆中创建数组是不是就可以用变量作为数组的下标呢?
- 关于Action里面定义的变量问题
- PWP 里面的变量“随用随定义”功能
- 定义全局的extern const变量方法
- 宏定义、const变量、枚举的区别
- 宏定义,const变量,枚举的区别
- const 、& 、*在变量定义时的含义
- const,let,var 定义变量的区别
- C++ 类的定义问题,为什么只有const static 整型变量才可以在类中定义并复赋值?
- 数组元素可以作为函数的参数
- 在定义文件里面设置Action里面的变量
- 可以被const函数修改的非const变量----mutabel
- ASP--变量定义,和数组的定义
- const限定符修饰的常量变量能否作为数组声明的维度、case行标或其他类似场景?
- opencv2413 gpu mog2_gpu CascadeClassifier_GPU
- 体育赛事视频直播方案
- JDK与JRE
- Chrome Extension实战:页面注入
- KeyValueInputFormat自定义分割符
- const定义的变量,可以作为数组[ ]里面的值吗?
- 非常完善的Log4net详细说明
- PHP生成二维码
- ACM数论基础训练题解之求最大公约数
- codeforces Hacker, pack your bags!
- 用sklearn进行线性分类
- 减少网页加载时间的6个技巧
- 中国Win10市场份额全面超越XP,仅次于Win7
- 基于jenkins的自动化单元测试实践