在定义变量的时候赋初值,这个赋值只在程序编译阶段进行,在程序运行阶段不再执行,是这样吗?

ziyourufeng3 2008-04-01 10:57:06
在下新手,有个问题不解:在定义变量的时候赋初值,这个赋值只在程序编译阶段进行,在程序运行阶段不再执行,即这个赋值只执行一次,是这样吗?
...全文
126 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanmuyi 2008-04-01
  • 打赏
  • 举报
回复
静态变量是在编译时赋初值,这样可以提高程序的运行效率

但是int a = 5;这只是普通的赋值,在程序运行后读到这一行才会通过汇编语句给a赋值为5
ziyourufeng3 2008-04-01
  • 打赏
  • 举报
回复
晕,我不懂汇编!~
ziyourufeng3 2008-04-01
  • 打赏
  • 举报
回复
是初始化
baihacker 2008-04-01
  • 打赏
  • 举报
回复
void foo()
{
int a = 0;
汇编:mov [ebp-4], 0
int b = 1;
汇编: mov [ebp-8], 1
}
ryfdizuo 2008-04-01
  • 打赏
  • 举报
回复
就是初始化吧,

70,035

社区成员

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

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