社区
非技术区
帖子详情
关于常量的三个问题
hshhgh
2005-07-14 11:21:01
1,常量的定义如果放到某个函数内部(即局部),那么这个这个常量
a,是存储在哪里的(如堆,栈,全局数据区)?
b,它的生命期是怎样的?
c,其可见性是怎样的(只在本函数内可见吗)?
2,常量的定义如果放到所有函数外部(即全局变量定义的位置),那么这个这个常量
a,是存储在哪里的(如堆,栈,全局数据区)?
b,它的生命期是怎样的?
c,其可见性是怎样的?
书中好像都没有讲到,谢谢个位!
...全文
123
7
打赏
收藏
关于常量的三个问题
1,常量的定义如果放到某个函数内部(即局部),那么这个这个常量 a,是存储在哪里的(如堆,栈,全局数据区)? b,它的生命期是怎样的? c,其可见性是怎样的(只在本函数内可见吗)? 2,常量的定义如果放到所有函数外部(即全局变量定义的位置),那么这个这个常量 a,是存储在哪里的(如堆,栈,全局数据区)? b,它的生命期是怎样的? c,其可见性是怎样的? 书中好像都没有讲到,谢谢个位!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
庄鱼
2005-07-15
打赏
举报
回复
常量的概念,通常是语言层面上的,实际在编译的时候,依据不同的编译器会采用不同的策略。常见的有两种:一种时段内地址法,与普通变量相类似,只是对其读写加以限制;一种是置换法,即用具体内容直接替换相应常量标识。
1、不应该在全局数据区,生命期与策略相关(通常与调用关系密切,当返回值为常量表达式时,与调用函数一致,非常量表达式时与普通变量相同),仅在函数内可见。
2、全局区,整个程序生命期,所有可视(但在子函数内,可被同名变量屏蔽)。
megaboy
2005-07-15
打赏
举报
回复
有三种常量:#define、const和enum,其中#define定义的常量在预处理之后就不存在了,这个不需要再讨论,下面讨论后两种常量:
1,常量的定义如果放到某个函数内部(即局部),那么这个这个常量
a,是存储在哪里的(如堆,栈,全局数据区)?//const存储在栈,enum存储在全局数据区
b,它的生命期是怎样的? //两者都是函数结束就消失了
c,其可见性是怎样的(只在本函数内可见吗)?//都在本函数内可见
2,常量的定义如果放到所有函数外部(即全局变量定义的位置),那么这个这个常量
a,是存储在哪里的(如堆,栈,全局数据区)? //两者都存储在全局数据区
b,它的生命期是怎样的? //两者在程序运行期内都存在
c,其可见性是怎样的? //所有函数都可见两者
defyer007
2005-07-14
打赏
举报
回复
sorry,楼主说的是常量啊
常量的话,应该看编译器了,一般在编译的优化阶段使用临时变量来代替
defyer007
2005-07-14
打赏
举报
回复
1,常量的定义如果放到某个函数内部(即局部),那么这个这个常量
a,是存储在哪里的(如堆,栈,全局数据区)?
b,它的生命期是怎样的?
c,其可见性是怎样的(只在本函数内可见吗)?
2,常量的定义如果放到所有函数外部(即全局变量定义的位置),那么这个这个常量
a,是存储在哪里的(如堆,栈,全局数据区)?
b,它的生命期是怎样的?
c,其可见性是怎样的?
answer:
1.a:stack
1.b:函数的周期结束它就结束
1.c:当然只在本函数内可见
2.a:全局数据区
2.b:随程序的结束而结束
2.c:对所有的函数可见
foochow
2005-07-14
打赏
举报
回复
这个书上当然有拉,楼主不仔细
边城狂人
2005-07-14
打赏
举报
回复
常量存储在哪里,这个问题对于用C编程来说,是不重要的。不管如何,反正我不知道。
常量如果定义在函数内部,其生命期应该只在从它定义的位置起到语句块结束。但至于是它在整个程序中只分配一次空间,还是每次执行到这个函数的时候都重新分配,就不知道了,反正这也跟写代码没多大关系。当然,这种情况下只在函数内可见,你自己可以写小段代码来试验。
如果常量是定义为全局的,那么生命期肯定是贯穿整个程序的运行期间。其可见性当然也是谁都可见的(被局部变量或者常量隐藏的除外)。
xjp6688
2005-07-14
打赏
举报
回复
看C++PRIMER
03Go语言实战之变量与
常量
课程介绍了go语言当中的变量和
常量
使用方法,包含了变量的声明方式、简短变量声明、变量的作用域、指针、按值传递和按址传递的区别、
常量
介绍
JVM中
三个
常量
池(两种
常量
池)的解析及其随jdk版本的变化
三个
常量
池的关系 其随jdk版本的变化
常量
池 请注意
常量
池是线程共享数据区,
常量
池的内容:
常量
池的好处:
常量
池是为了避免频繁的创建和销毁对象而影响系统性能,其实现了对象的共享。 例如...
C\C++ 之
常量
分类之整数
常量
&浮点
常量
/实型
常量
&布尔
常量
&字符
常量
&字符串
常量
C++ 之
常量
分类之整数
常量
&浮点
常量
/实型
常量
&布尔
常量
&字符
常量
&字符串
常量
一、关于C++
常量
二、关于C++的5种
常量
1、整数
常量
2、浮点
常量
/实型
常量
...三、定义
常量
#define 预处理器 const 关键字
常量
指针与指针
常量
的区别
三个
名词虽然非常绕嘴,不过说的非常准确。用中国话的语义分析就可以很方便地把
三个
概念区分开。 一)
常量
指针。
常量
是形容词,指针是名词,以指针为中心的一个偏正结构短语。这样看,
常量
指针本质是指针,
常量
...
c语言指针
常量
和
常量
指针,详解C语言中的
常量
指针和指针
常量
概述对于新手来说,指针在c语言里总是一个非常难以理解的概念。在这篇文章中,我们将...换句话说,一旦
常量
指针指向了一个变量,你不能让该
常量
指针指向其他变量了
常量
指针的声明方法如下: * const
常量
指针声明示...
非技术区
15,440
社区成员
58,167
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章