我已经很感兴趣地阅读了这个帖子
C difference between malloc and calloc.我在代码中使用了malloc,想知道使用calloc的区别.
我现在(伪)代码与malloc:
情景1
int main() { allocate large arrays with malloc INITIALIZE ALL ARRAY ELEMENTS TO ZERO for loop //say 1000 times do something and write results to arrays end for loop FREE ARRAYS with free command } //end main
如果我使用calloc而不是malloc,那么我会有:
Scenario2
int main() { for loop //say 1000 times ALLOCATION OF ARRAYS WITH CALLOC do something and write results to arrays FREE ARRAYS with free command end for loop } //end main
我有三个问题:
>如果阵列非常大,哪一种场景更有效?
>如果阵列非常大,那么哪些场景将更加节省时间?
>在这两种情况下,我只是在写数组的意义上说,对于for循环中的任何给定的迭代,我将从第一个元素顺序写入每个数组到最后一个元素.重要的问题:如果我在方案1中使用malloc,那么我有必要将元素初始化为零?用malloc说我有数组z = [garbage1,garbage2,garbage 3].对于每次迭代,我正在编写元素,即在第一次迭代中,我得到z = [some_result,garbage3],在第二次迭代中,我得到第一次迭代,another_result,garbage3]等on,那么我需要具体地在malloc之后初始化我的数组?
解决方法
原文地址:https://www.jb51.cc/c/114981.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。