C内存管理
C内存管理主要是动态内存管理。C语言为内存的分配和管理提供了几个函数需要使用<stdlib.h> 头文件。
注:void*:指针类型未确定,可以通过类型强制转换转换为其他任何类型的指针。
动态分配内存
编程时,当我们提前知道了数组的大小就可以直接定义数组,如:int a[30].
但是如果我们并不知道数组的大小,就可以定义一个指针,指针指向内存未知的变量,根据后续的需求来分配内存。
当使用 calloc() 函数来编写程序时,只需要把 malloc 替换为 calloc 即可,
calloc(200, sizeof(char));
优点:
当动态分配内存时,有完全控制权,可以传递任何大小的值。
重新调整内存的大小和释放内存
在C语言编程中,调用free( )函数来释放内存或者调用 realloc( )函数来增加或减少已分配内存块的大小会是一个很好的习惯。