c语言申请内存的疑惑?

sd666850 2010-04-20 10:56:06
使用malloc申请一大块内存,但是后来觉得这样子不合适,想分多次一次申请一点,但是原油的程序已经使用了的,把malloc返回的内存指针当做数组来使用,数组的最小单位是个结构体,现在不像破坏原有的结构,又想分多次申请,我就想到
realloc,但是realloc在使用上是否存在一定的风险性,我不是很清楚,想问下大家,或者大家有什么更好的意见,可以提出来,malloc一次性申请内存的时候,数据量比较大,那个结构体也比较大,所以所占的内存就比较大了,大家有什么好点的建议吗?谢谢
...全文
296 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangzhifu 2010-04-25
  • 打赏
  • 举报
回复
C中有内存池嘛?好像没有听说过
aleyn 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cattycat 的回复:]
推荐使用内存池。

realloc应该不会失败,估计这个函数扩大内存后会释放以前的内存。
[/Quote]
阿磊2013 2010-04-25
  • 打赏
  • 举报
回复
谢谢四楼啦
zhonglg3 2010-04-25
  • 打赏
  • 举报
回复
内存池实现的原理是什么啊?
kingstarer 2010-04-25
  • 打赏
  • 举报
回复
记得realloc在申请空间无法满足是有可能返回一个新的内存地址存放原内容
eTouX 2010-04-25
  • 打赏
  • 举报
回复
数据结构太大了为什么不做个链表呢
火山1009 2010-04-25
  • 打赏
  • 举报
回复
内存池 是干嘛的啊‘
「已注销」 2010-04-25
  • 打赏
  • 举报
回复
呵呵,看完诸位的发言,不想再说什么了。楼主好自为之。

Bestrem_9 2010-04-25
  • 打赏
  • 举报
回复
恩,学习了,以前都没有用过内存池。。。
liutengfeigo 2010-04-25
  • 打赏
  • 举报
回复
NEW
delphiwcdj 2010-04-25
  • 打赏
  • 举报
回复
参考4L的方法
lixianliang200923 2010-04-25
  • 打赏
  • 举报
回复
自己慢慢调试吧
qzf368 2010-04-25
  • 打赏
  • 举报
回复
内存池?第一次听说啊
r11222 2010-04-20
  • 打赏
  • 举报
回复
现在不像破坏原有的结构,又想分多次申请

看到这句话就应该想到内存池
cattycat 2010-04-20
  • 打赏
  • 举报
回复
推荐使用内存池。

realloc应该不会失败,估计这个函数扩大内存后会释放以前的内存。
  • 打赏
  • 举报
回复
[Quote=引用楼主 sd666850 的回复:]
使用malloc申请一大块内存,但是后来觉得这样子不合适,想分多次一次申请一点,但是原油的程序已经使用了的,把malloc返回的内存指针当做数组来使用,数组的最小单位是个结构体,现在不像破坏原有的结构,又想分多次申请,我就想到
realloc,但是realloc在使用上是否存在一定的风险性,我不是很清楚,想问下大家,或者大家有什么更好的意见,可以提出来,malloc一次性申请内存的时候,数据量比……
[/Quote]

你之前已经申请了一块大的了,干脆直接用内存池机制算了。
参考:
http://blog.csdn.net/hairetz/archive/2009/09/10/4538578.aspx
jackyjkchen 2010-04-20
  • 打赏
  • 举报
回复
realloc失败的可能性不大,放心用,另外我感觉你更适合用内存池
shazhaijilou 2010-04-20
  • 打赏
  • 举报
回复
自己上机试一下嘛 我也不是很清楚
expter 2010-04-20
  • 打赏
  • 举报
回复
用内存池呗。。

69,369

社区成员

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

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