免费注册 查看新帖 |

Chinaunix

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

[C] 问一下直接声明和自己malloc的区别? [复制链接]

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
11 [报告]
发表于 2010-12-13 14:41 |只看该作者
也就是说通过“直接声明一个变量”和“malloc”这两种方式来获得内存,哪个的成本低?
fender0107401 发表于 2010-12-13 14:21



    给栈变量分配空间,不管多少个变量多少字节(在允许范围之内),就一条指令,偏移一下指针就OK了,你说哪个成本低呢

评分

参与人数 1可用积分 +10 收起 理由
OwnWaterloo + 10 帮lz加分来着……

查看全部评分

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
12 [报告]
发表于 2010-12-13 14:53 |只看该作者
给栈变量分配空间,不管多少个变量多少字节(在允许范围之内),就一条指令,偏移一下指针就OK了 ...
hellioncu 发表于 2010-12-13 14:41


我大致明白了,还是静态申请走“栈”吧,

本来想给你+10分来着,但是发现好像在一个贴子只能在加分一次,

除非是写链表或者是树什么的,以后不乱玩malloc了。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
13 [报告]
发表于 2010-12-13 14:54 |只看该作者
现在的cu充斥着这样的月经贴,一点营养都没有,去g一下c的堆和栈.
samlumengjun 发表于 2010-12-13 14:17


我是纯业余的,不能要求太高,哈哈。

论坛徽章:
0
14 [报告]
发表于 2010-12-13 14:57 |只看该作者
哥笑而不语

论坛徽章:
0
15 [报告]
发表于 2010-12-21 11:56 |只看该作者
系统分配给进程的栈空间都比较有限

论坛徽章:
0
16 [报告]
发表于 2010-12-21 12:48 |只看该作者
开销都不大,都可以忽略,除非你的应用有极高的性能要求,否则都不会是问题

当然了,malloc的堆根本肯定比函数自动变量的栈分配要更大一点

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
17 [报告]
发表于 2010-12-21 12:50 |只看该作者
回复 12# fender0107401

一个帖子里只能加分一次?

是只能给同一个人加分一次, 但可以给每一个人都加一次。
还是只能加一人次?

求解……

评分

参与人数 1可用积分 +10 收起 理由
fender0107401 + 10 好像又能了啊,哈哈。

查看全部评分

论坛徽章:
0
18 [报告]
发表于 2010-12-21 12:56 |只看该作者
就是说,这两个的开销一样吗?
fender0107401 发表于 2010-12-13 14:12



    第一个 如果使用完不调用 free 是会引起内存泄露的...
    第二个没问题 栈上分配的内存系统自动释放的...

论坛徽章:
0
19 [报告]
发表于 2010-12-21 12:57 |只看该作者
回复  fender0107401

一个帖子里只能加分一次?

是只能给同一个人加分一次, 但可以给每一个人都加一 ...
OwnWaterloo 发表于 2010-12-21 12:50



    发个帖子 加分一次
   每个回复加分一次 无论你在一个主体下回复了多少次...

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
20 [报告]
发表于 2010-12-21 12:58 |只看该作者
回复 17# OwnWaterloo

貌似是有一个24小时之内只能评分一次的限制。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP