malloc 函数成功时返回指向分配内存起始地址的指针,失败时返回 null。为了检查分配是否成功,程序员应始终检查返回值。如果返回值为 null,则应假定分配失败并采取适当的行动。
malloc 函数的返回值
malloc 函数是一个在 C 语言中分配内存的库函数。它以字节为单位分配内存,并返回指向分配内存块开头的指针。
返回值类型
malloc 函数的返回值类型为 void*。这是一个指向分配内存块开头的通用指针。
返回值含义
- 成功:如果分配成功,malloc 函数返回指向分配内存块开头的指针。
- 失败:如果分配失败(例如,由于内存不足),malloc 函数返回 NULL。
判断分配是否成功
为了检查分配是否成功,程序员应始终检查 malloc 函数的返回值。如果返回值为 NULL,则应假定分配失败并采取适当的行动。
例如:
// 分配 100 字节的内存
void *ptr = malloc(100);
// 检查分配是否成功
if (ptr == NULL) {
// 分配失败,处理错误
} else {
// 分配成功,使用 ptr
}
注意事项
- malloc 函数分配的内存必须使用 free 函数释放,以释放内存并防止内存泄漏。
- malloc 函数分配的内存块可能不连续。
- malloc 函数可能会在分配内存时移动内存块的位置。