c 语言中 malloc 函数:分配指定大小的堆内存,返回内存起始地址指针。成功分配时返回非空指针,失败时返回 null。应检查返回值,并仅释放通过 malloc 分配的内存块。避免重复释放同一块内存,以免造成不确定行为。
C 语言中 malloc 函数的用法
malloc 函数是 C 语言中常用的动态内存分配函数,用于在堆内存中分配指定大小的内存块。其语法如下:
void *malloc(size_t size);
功能:
malloc 函数分配 size 字节大小的连续内存,返回指向分配内存起始地址的指针(void *类型)。如果内存分配成功,它返回非空指针;否则,它返回 NULL。
用法:
- 分配内存:使用 malloc 函数分配内存,如:
int *ptr = (int *) malloc(sizeof(int));
这会分配一个足够容纳一个整数的内存块,并返回指向该内存块的指针。
- 使用内存:一旦分配了内存,就可以通过指针访问该内存,如:
*ptr = 10;
- 释放内存:使用 free 函数释放分配的内存,如:
free(ptr);
释放内存后,指向该内存的指针将变为无效,不得再次使用。
注意事项:
- malloc 函数分配的内存位于堆内存中,该内存由程序员负责管理。
- 应始终检查 malloc 函数的返回值,以确保内存分配成功。如果返回 NULL,则表示内存分配失败。
- 应仅释放使用 malloc 分配的内存块,以避免内存泄漏和程序崩溃。
- 应尽可能避免多次释放同一块内存,因为这会导致 undefined behavior。