读书人

c 语言内存分配有关问题 等高手解答

发布时间: 2013-04-02 12:35:26 作者: rapoo

c 语言内存分配问题 等高手解答
有以下两个问题
1。malloc的具体实现原理。如果有操作系统的话,操作系统可以完成很多功能,我们知道操作系统中有一个空闲内存的链表,malloc的时候直接在该链表上寻找空间合适的然后分配。但是如果没有操作系统的话malloc怎么实现,在调用free的时候free函数怎么知道要释放内存的大小,因为free的参数只有一个指针。这两个库函数到底三怎么实现的。我说的主要三没有操作系统的情况
2。realloc函数的问题 当我们定义一个全局数组的时候如 a[10]。这时候编译器会在全局数据区去开辟一个10个空间大小的内存。但是当我们 想将a的大小再扩大一点的话 如 a = (char *)realloc(11 * sizeof(char));这样a数组的整个空间是不是就会被复制到内存的栈空间。
[解决办法]
正在研究中!

读书人网 >C语言

热点推荐