malloc 函数是C和C++编程中常用的函数,用于在程序运行时动态分配内存。它的用法如下:
#include <stdlib.h>
void *malloc(size_t size);
malloc 函数接受一个参数 size,表示要分配的内存空间的字节数。它返回一个指向新分配内存空间的指针,或者在分配失败时返回 NULL。
以下是一个基本的用法示例:
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr;
int size = 5;
// 分配一个包含5个整数的动态数组
arr = (int *)malloc(size * sizeof(int));
if (arr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 初始化数组
for (int i = 0; i < size; i++) {
arr[i] = i * 2;
}
// 使用数组
for (int i = 0; i < size; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
// 释放分配的内存
free(arr);
return 0;
}
在上面的示例中,我们首先声明了一个整数指针 arr,然后使用 malloc 函数动态分配了一个包含5个整数的数组的内存空间。如果分配成功,我们可以使用这个数组来存储数据。最后,不要忘记使用 free 函数来释放已分配的内存,以防止内存泄漏。
需要注意的是,malloc 分配的内存不会自动初始化,因此在使用之前应该确保对其进行适当的初始化。另外,分配的内存一旦不再使用,应该使用 free 函数来释放,以便将内存返回给操作系统。