打印

有几个嵌入式C语言问题,请高手给我指点一下!

[复制链接]
1388|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuyunzdh|  楼主 | 2007-5-14 17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(1)C语言定义一个普通变量时,在没有赋初值时候,在编译时候分配内存吗?
 
   那指针变量呢? 

 内部变量赋值之后是不是也不分配内存? 


(2)在函数外定义的变量,默认为Extern变量,但是书上说用Extern声明的变量,在定义时候是不允许赋值的,但是我不明白为什么不允许,那为什么在函数外定义变量时候能赋初值?

  谢谢

相关帖子

沙发
pigjiang| | 2007-5-14 18:55 | 只看该作者

试答

1、变量都是占内存的。不赋初值的变量占空间但不初始化,指针也是;
2、extern表示引用别人定义的变量,可能会有很多函数引用一个外部变量。如果大家都赋初值,就乱了。

使用特权

评论回复
板凳
wuyunzdh|  楼主 | 2007-5-14 19:57 | 只看该作者

回复

  我感觉你回答的太片面了!如:

  在函数内部定义的那内部函数,只有运行到此函数才分配存储空间,编译的时候肯定部分配,

使用特权

评论回复
地板
mohanwei| | 2007-5-14 20:48 | 只看该作者

好好看keil的C51编译器手册吧。

如果加上优化,更加复杂……

使用特权

评论回复
5
wuyunzdh|  楼主 | 2007-5-15 13:25 | 只看该作者

谢谢

哪里有得下呀

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

71

帖子

0

粉丝