中兴面试C语言题(2)

信人: thebestone (Simple life), 信区: C
标  题: 【合集】中兴面试C语言题(2)
发信站: 饮水思源 (2002年01月20日17:24:18 星期天), 站内信件

☆──────────────────────────────────────☆
    huaihuai (坏坏◎//◎不要离我太近!) 2001年11月13日15:48:20 星期二 提到:

〖 以下文字转载自 job 讨论区 〗
〖 原文由 wronganswer 所发表 〗

全局变量是放在堆里,你说的恐怕是编译书上的教条。

〖 在 huaihuai (坏坏◎//◎不要离我太近!) 的大作中提到: 〗
〖 在 adamli (借壳上市) 的大作中提到: 〗
:: a和p作为全局对象,都是静态存储类,所以都被存储在程序的静态数据区,而非
:                                       这个在哪里?----^^^^^^^^
:: stack更不是heap。另外, p和a[]都被隐式初始化为0,但只是在作为全局变量的
: ^^^^^^^^^^^^^^^^^^^^^你为什么那么肯定?
:到底是什么,倒是真的很想知道的说
:: 情况下,如果是局部变量是不会自动初始化的。谁能告诉我这是为什么?


☆──────────────────────────────────────☆
    huaihuai (坏坏◎//◎不要离我太近!) 2001年11月13日15:49:27 星期二 提到:

现在不是这样乐吗?
我倒是很想知道的说。不知道哪位大虾知道的帮我解释解释的说
//bow


☆──────────────────────────────────────☆
    law (游戏*人生) Tue Nov 13 16:08:59 2001) 提到:

#pragma pack(n)
指定对齐方式,
这不是标准,但是VC和gcc都认。

局部变量是放在栈里的,

全局和静态变量分为初始化了的,
没初始化的,

char s[100];
char s[100] = "Hello";
gcc把它们放在不同的段里.bss和.data。
还有常量变量,
如printf("Hello");里的"Hello";
gcc也会把它们放在专门的一个段里。
你还可以用gcc扩展的关键字__attribute__(section(".yourdata"));
来自己定义一个专门的段

VC是怎么放的,我有点忘了.

所谓堆,静态数据区之类的只是个提法。
意思明白就可以了,没什么好争论的,hehe.



☆──────────────────────────────────────☆
    browny (冬天里的一把火) 2001年11月13日21:23:59 星期二 提到:

段的地址,汇编中学过的,不太记得了。请教bss,data,和栈段的
段首址各是放在哪各寄存器里?段地址怎样和下面的地址结合成实际
地址的?还望诸位指点呀!


☆──────────────────────────────────────☆
    huaihuai (坏坏◎//◎不要离我太近!) 2001年11月13日21:43:26 星期二 提到:

今天在图书馆看到一本《保护模式下的80386极其编程》
好书,建议你去看看。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值