C - 动态数组

nic*_*ame 3 c arrays malloc dynamic realloc

我正在尝试使用fscanf()来提供一个数组,同时循环遍历包含整数列表的文件,n个整数长整数.似乎我需要使用malloc和/或可能realloc.我听说malloc命令占用了相当多的执行时间,并且最好过度分配.有人会介意帮助我理解实现这一目标的基石吗?

免责声明:我是C的新手

cni*_*tar 7

不,你所听到的是误导(至少对我而言).malloc只是一个功能,通常是一个快速的功能.

  • 大部分时间它在用户空间中完成所有工作.它"分配",所以你不必
  • 由于几乎每个人都使用,因此簿记(带有免费块等的链接列表)得到了高度优化 malloc

认为你可以轻松击败malloc这场比赛是不现实的.如果这不能回答你的问题(这很普遍),我很抱歉,但你必须意识到没有(勺子)优化你可以轻松实现.

  • `malloc只是一个函数`,它是最重要的函数之一,所以我不会说它只是一个函数.:) (3认同)

小智 6

读取文件比分配内存慢得多!

你可能想要阅读整个文件,找出你想要多少个entires,然后一起去malloc().

的malloc(的sizeof(int)的*N)