社区
Java SE
帖子详情
问个const的问题
jiangnancaizi
2008-12-08 02:48:05
1. java中,const 常量是存放在哪个区? 静态存储区,常量区还是堆栈区? const static又是存放在哪个区?
2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区
...全文
172
15
打赏
收藏
问个const的问题
1. java中,const 常量是存放在哪个区? 静态存储区,常量区还是堆栈区? const static又是存放在哪个区? 2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiangnancaizi
2008-12-10
打赏
举报
回复
????
VCRWX
2008-12-10
打赏
举报
回复
1. java中,const 常量是存放在哪个区? 静态存储区,常量区还是堆栈区? const static又是存放在哪个区?
首先你要确定java中有无const,它是以final出现的,如果你在定义中没有用到new,她是存在与静态内存栈中,const static存在与池中
2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区
c和c++中的const是有区别的,c中的const是有内存的,也就是一个不能改变值的普通常量.
C++中的const有时候是不占用内存的,至于什么时候站用内存,分配在什么地方还要分情况,建议你看一看<<C++编程思想>>
恋空
2008-12-09
打赏
举报
回复
学习
ZangXT
2008-12-09
打赏
举报
回复
[Quote=引用 8 楼 jiangnancaizi 的回复:]
那能否回答我的第二,三个问题
2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区 ?
3. 我在网上看到一个题目,说const char str3[] = "abc";是存放在堆栈区, const char* str6 = "abc";则是放在常量区(好像也叫做只读区),为什么呢
[/Quote]
对于C++写的可执行程序:
全局/静态数据区存储全局变量及静态变量(包括全局静态变量和局部静态变量)。
常量数据区中存储程序的常量字符串等。
栈中存储局部变量,参数等,堆存储动态分配的数据(通过new,delete,malloc()和free())来控制。
代码区。
你可以在代码里面分别定义各种类型的变量,然后察看其地址,看看是否相连就知道了。
jiangnancaizi
2008-12-09
打赏
举报
回复
[Quote=引用 12 楼 haoxiongok 的回复:]
引用 11 楼 jiangnancaizi 的回复:
那const是放在常量区么? 最好直接回答我的2,3问题,谢谢^_^
应该和静态变量还有字符串常量放在一起吧,统称为数据区
[/Quote]
那是否可以理解为 : 那数据区是否又分为静态数据区和常量区,静态数据区放全局变量和static变量,常量区放常量字符串和const修饰的常量??
haoxiongok
2008-12-09
打赏
举报
回复
[Quote=引用 11 楼 jiangnancaizi 的回复:]
那const是放在常量区么? 最好直接回答我的2,3问题,谢谢^_^
[/Quote]
应该和静态变量还有字符串常量放在一起吧,统称为数据区
jiangnancaizi
2008-12-09
打赏
举报
回复
那const是放在常量区么? 最好直接回答我的2,3问题,谢谢^_^
jiangnancaizi
2008-12-08
打赏
举报
回复
那能否回答我的第二,三个问题
2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区 ?
3. 我在网上看到一个题目,说const char str3[] = "abc";是存放在堆栈区, const char* str6 = "abc";则是放在常量区(好像也叫做只读区),为什么呢
shenjie1989
2008-12-08
打赏
举报
回复
java并没有定义所谓的静态存储区,C++也没有
ZangXT
2008-12-08
打赏
举报
回复
刚学不用过于关注这些问题,不是几句话能说明白的
有些精力了去看《深入java虚拟机》这样的书。
不要相信一个叫做《java栈与堆》这个帖子的话,够了。
jiangnancaizi
2008-12-08
打赏
举报
回复
java的data segment中是否存放了static和final变量?
jiangnancaizi
2008-12-08
打赏
举报
回复
哦,我彻底晕了,做c得时候我知道静态存储区,堆区,堆栈区..........
好像内存中又分代码区,堆栈区,数据区
这些都是啥关系? java中为啥没有了静态存储区呢? 难道 java中得final static变量也是存放在数据区?
哪位高手来理顺一下这些关系啊
ZangXT
2008-12-08
打赏
举报
回复
java并没有定义所谓的静态存储区。
jiangnancaizi
2008-12-08
打赏
举报
回复
[Quote=引用 1 楼 meneil 的回复:]
Java中并没有const关键字,但是也将const作为了保留关键字,取而代之的是final关键字,代表定义一个常量,存于内存的data segment
[/Quote]
晕死,是我犯了低级错误了
顺便问一下,数据区是不是就是静态存储区?
meneil
2008-12-08
打赏
举报
回复
Java中并没有const关键字,但是也将const作为了保留关键字,取而代之的是final关键字,代表定义一个常量,存于内存的data segment
面试官竟然问我JavaScript中var、let和
const
有什么区别这样简单的
问题
?
本文深入解析JavaScript中var、let和
const
三种变量声明方式的特点与区别,包括作用域、初始化、重复定义等关键概念,帮助读者掌握变量管理的核心技巧。
为什么c/c++面试老问我关键字
const
的
问题
难道我不会答吗
本文详细介绍了C++中
const
关键字的使用,包括:1)
const
修饰函数参数,防止参数值被修改;2)
const
修饰函数返回值,确保返回值不可变;3)
const
成员变量,保护对象数据不被意外修改;4)
const
成员函数,限制函数修改对象状态;5)
const
修饰指针的三种情况,分别说明其约束。通过这些用法,可以提高代码的稳定性和可读性。
《编程千问》多文目录汇总
这是《编程千问》专栏的目录导航,文章未写完前专栏限时免费订阅。目录涵盖TCP协议、C++中
const
用法、逻辑运算符、QT信号和槽机制等多个编程
问题
,还欢迎投稿,有
问题
可私信或留言。
语言关键字特别注意没有_C/C++每日一问求职笔试常考的extern、
const
、volatile三个关键字...
博客设置【每日一问】专栏,以C/C++基础知识为主,结合实践检验学习成果。重点讲解了extern、
const
、volatile三个关键字在C语言笔试中的作用,通过实际例子说明其用法,并探讨了编译器优化、volatile相关
问题
以及
const
与define的区别,适合新手学习和熟手知识回顾。
const
本文介绍了C/C++中
const
的相关知识。
const
推出目的是取代预编译指令,其主要作用包括定义常量、便于类型检查、避免模糊数字等。还探讨了常量与只读变量的区别,通过代码示例分析了
const
限定内容及指针使用情况,同时提及C和C++中
const
指针初始化的差异。
Java SE
62,622
社区成员
307,256
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章