一、内存分配
对于内存的分配,主要采用的是标记法。
分配方法有两种,一种是静态分配,也就是在程序编译的时候,就完成了对内存的分配。例如当一个数组在声明时,指定长度之后,它所需要的内存在编译时就会被分配。
另一种方法是动态分配,动态分配是指程序在运行时为它分配内存。
分配内存的时候,对于已分配的内存,操作系统会给一个标记,未分配的内存,操作系统也会有一个标记,操作系统辨别内存是否可以使用就是通过标记判断,当内存释放的时候,就会修改标记。
二、动态分配
C函数库关于内存的动态分配和释放提供了四个函数malloc、calloc、realloc和free。其中前三个是执行内存动态分配,最后一个是执行释放。
1、void *malloc(size_t size)
malloc函数所需要的参数是要分配的字节长度,例如
int *p; p = (int *)malloc(100);