分配内存:malloc( )和free( )
malloc( )函数
该函数接受一个参数:所需内存的字节数。malloc( )函数会找到合适的空闲内存块,这样的内存是匿名的。也就是说,malloc( )函数分配内存但是不会为其赋名。malloc( )函数返回动态内存块的首字节地址。因此,可以把该地址赋给一个指针变量,并使用指针访问这块内存。malloc( )函数可用于返回指向数组的指针、指向结构的指针等,应该使用强制类型转换来提高代码可读性。如果malloc( )分配内存失败,返回空指针。
例如,用malloc( )函数创捷数组:
double *pt;
pt = (double *) malloc(30 * sizeof(double));
以上代码为30个double请求内存空间,并设置pt指向该位置。
free( )函数
free( )函数用来释放malloc( )函数分配的内存,free( )函数只释放其参数指向的内存块。