关于Malloc和free

来源:互联网 发布:异构数据库交互 编辑:程序博客网 时间:2024/06/03 03:44

今天在驾校考驾照,等了4个小时了就拿出电脑写代码

想写一个mergesort,但是我在传递数组的过程中遇到了困难

看到了http://bbs.csdn.net/topics/390518422?page=1感觉有点启发,这时候神秘的malloc 和free 出来了

于是我把这个重新看一下

好了不多逼逼:


malloc 函数接受一个参数,即所需字节的内存数,然后找到空闲的匿名的内存块,也就是说,malloc会分配内存但是不会为其命名。它的返回值是动态分配内存块的首字节的地址通常被定义为char类型的指针


然后后面就是讲这个malloc是在定义形似int a[n](n是变量)这种的边长数组,

由于它返回的是指针,所以定义它的形式就是

ptd=(double *) malloc(n*sizeof(double));

然后使用ptd[1]访问数组的第二个元素。


free就是释放那些内存,它的参数就是之前malloc返回的地址。