在c语言中,const常量是不是都存储在数据段里(无论是全局的还是局部的)?

greatm 2007-10-16 11:35:32
在c语言中,const常量是不是都存储在数据段里(无论是全局的还是局部的)?
...全文
342 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatm 2007-10-16
  • 打赏
  • 举报
回复
看下面这个程序:

#include 。。。。
const int i =1;
int main()
{
const int j = 2;
printf("%d,%d",i,j);
return 1;
}
这里定义了两个const常量。
i 是全局变量,应该存储在数据段里;
j 是局部变量,j是存储在栈里吗?

当然,在c中,const常量是进行“常量折叠”处理的,在符号表里(数据段)会有一份拷贝的。
goodluckyxl 2007-10-16
  • 打赏
  • 举报
回复
const 应该要放到代码段和数据段两份
ckt 2007-10-16
  • 打赏
  • 举报
回复
看你是定义在哪里的

C的cosnt修饰的变量,不会被编译器优化,进行值替换。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧