【发布时间】:2012-01-25 17:55:03
【问题描述】:
我遇到了这个(短)代码,我不确定它到底是做什么的;
int amount = 5
int totalAllocatedMemory = 0;
totalAllocatedMemory += amount, malloc(amount);
好像'malloc'在这里没有作用!
谢谢
【问题讨论】:
-
肯定有效果——它会造成内存泄漏。
-
不是一个真正的问题,没有建设性,过于本地化......如何决定?!
-
“totalAllocatedMemory”与“totalAllocatedMemroy”的名称不同,因此它可能不会像您认为的那样做。此外,您在第一行之后缺少一个分号。无论如何,它确实会泄漏内存。
-
我见过嵌入式系统 malloc “实现”,它线性分配并且没有(有意义的)免费对应物,所以这里的
amount可能正在将 malloc 线性分配器指针移动到对齐地址。我想不出为什么还能制作它。