C语言中的动态内存分配函数有malloc、calloc、realloc以及free。其中,malloc函数用于分配指定大小的内存空间,calloc函数则用于分配指定数量和大小的内存空间,并将分配的内存空间初始化为0。realloc函数用于重新分配已分配内存的大小,而free函数用于释放已分配的内存空间,使其可供其他程序使用。在使用这些函数时需要注意内存泄漏和指针操作的问题,建议在使用完后及时进行释放,避免出现程序异常或崩溃等情况。以下是如何使用这些函数的简单示例:
malloc示例:
int* p = (int*)malloc(sizeof(int));
*p = 123;
free(p);
calloc示例:
int* q = (int*)calloc(10, sizeof(int));
for (int i = 0; i < 10; i++) {
q[i] = i + 1;
}
free(q);
realloc示例:
int* r = (int*)malloc(10 * sizeof(int));
r = (int*)realloc(r, 20 * sizeof(int));
free(r);