1.C语言动态内存管理
C语言使用malloc/calloc/realloc/free进行动态内存管理。
malloc:开辟一块空间,调用方法为malloc(x),x为开辟的字节数。(malloc 开辟的空间需要进行强制类型转换后赋给指针,malloc开辟的空间不进行初始化)
calloc:同样是开辟一块空间,与malloc不同的是,calloc会将空间初始化为0,调用方法为calloc(x,size),x为类型个数,size为类型所占的字节数。
realloc:对开辟的的空间进行增容或减容。使用方法realloc(ptr,size),ptr为这块空间的地址,size为想要为这块空间重新分配的地址。
free:将开辟的空间释放。
注意:malloc,calloc和realloc在开辟空间失败时会返回NULL,因此不能直接将开辟的空间赋值给指针,应先判断空间是否开辟成功。