`malloc` 是 C 语言中的一个函数,用于在堆区动态分配内存,它的全称是 "memory allocation"。
函数原型:
```c
void* malloc(size_t size);
参数: * `size_t size`:要分配的内存大小,单位是字节。 返回值: * 如果分配成功,`malloc` 返回一个指向被分配内存的指针。 * 如果分配失败,`malloc` 返回 `NULL`。 使用 `malloc` 分配的内存必须手动释放,否则会造成内存泄漏。释放内存的函数是 `free`。 示例: ```c #include <stdio.h> #include <stdlib.h> int main() { int *ptr = (int*) malloc(sizeof(int)); // 分配一个 int 的内存空间 if (ptr == NULL) { printf("Memory allocation failed!\n"); return 1; // 返回错误代码 } *ptr = 42; // 在分配的内存中存储一个值 printf("The value is: %d\n", *ptr); // 输出存储的值 free(ptr); // 释放内存 return 0; }
注意事项:
1. `malloc` 分配的内存不会自动清零,所以如果你需要一个清零的内存区域,可以使用 `calloc` 函数。
2. 使用 `malloc` 分配的内存在使用完毕后必须手动释放,否则会造成内存泄漏,释放内存的函数是 `free`。
3. 在释放内存后,不要继续使用该内存区域,因为其内容是不确定的。