免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: dreamice
打印 上一主题 下一主题

【转】堆和栈的区别——给初学者 [复制链接]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
31 [报告]
发表于 2009-08-06 19:03 |只看该作者
原帖由 aihuazhiren 于 2009-8-6 17:05 发表
2.6 存取效率的比较
char s1[] = "aaaaaaaaaaaaaaa";
char *s2 = "bbbbbbbbbbbbbbbbb";
aaaaaaaaaaa是在运行时刻赋值的;
而bbbbbbbbbbb是在编译时就确定的;

是不是搞反了?


没有搞反。char *s2 = "bbbbbbbbbbbbbbbbb"; 是一个指针指向静态存储区,因此在编译时就已经确定了。
而char s1[] = "aaaaaaaaaaaaaaa"; 是在运行时,通常是在栈空间分配内存来存放的数据,栈是一个运行时的概念。

论坛徽章:
0
32 [报告]
发表于 2009-08-06 21:33 |只看该作者
感谢,thanks

论坛徽章:
0
33 [报告]
发表于 2009-08-16 22:49 |只看该作者
确实基础,但却是非常重要的基础!

论坛徽章:
0
34 [报告]
发表于 2009-08-17 11:37 |只看该作者
学习学习  谢谢楼主了

论坛徽章:
0
35 [报告]
发表于 2009-11-26 19:14 |只看该作者
再学习学习

论坛徽章:
0
36 [报告]
发表于 2010-04-09 15:26 |只看该作者
回复 1# dreamice


    请教一下,你给的例子char *p3="123456";中的123456字符串是放在文字常量区,而char s[]=“abc”;中的abc字符串在什么位置??
   直接付给栈中的s数组还是也放在文字常量区?谢谢

论坛徽章:
0
37 [报告]
发表于 2010-05-30 22:26 |只看该作者
大侠,问个问题,栈的数据在elf里放在哪个段,初值放在哪?


谢谢了

论坛徽章:
0
38 [报告]
发表于 2011-04-23 08:53 |只看该作者
学习一下

论坛徽章:
0
39 [报告]
发表于 2012-12-02 22:56 |只看该作者
表示今年找工作的时候笔试和面试都出现过

论坛徽章:
1
技术图书徽章
日期:2013-10-29 15:46:41
40 [报告]
发表于 2012-12-04 16:19 |只看该作者
看看           
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP