我想了解C和malloc和sbrk之间的区别,以及它们如何相互关联。从我的理解malloc和sbrk几乎是相同的东西,但我读了malloc使用sbrk分配内存。这真的让人困惑吗?有人可以给我解释一下吗?了解C malloc和sbrk()
例如在这个程序中malloc调用sbrk?如果是这样,每次调用sbrk时都会调用这个函数,所以在这个例子中有10次?
int main(int argc, char **argv) {
int i;
void *start_pos, *finish_pos;
void *res[10];
start_pos = sbrk(0);
for (i = 0; i < 10; i++) {
res[i] = malloc(10);
}
finish_pos = sbrk(0);
return 0;
}
谢谢你,从操作系统
http://stackoverflow.com/questions/2076532/how-does-sbrk-work-in-c –