malloc 是 C 标准库中的函数,用于动态分配内存。它的函数原型如下:
void *malloc(size_t size);
其中,size 是需要分配的字节数,函数返回值为分配内存的起始地址,如果分配失败,则返回 NULL。
下面是一个使用 malloc 动态分配内存的例子:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
scanf("%d", &n);
// 使用 malloc 分配长度为 n 的整型数组空间
int* arr = (int*) malloc(n * sizeof(int));
if (arr == NULL) {
printf("Allocation failed.\n");
return-1;
}
// 对数组赋值
for (int i = 0; i < n; i++)
{
arr[i] = i + 1;
}
// 输出数组内容
for (int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
// 释放内存
free(arr);
return0;
}
上述程序先从标准输入读取一个整数 n,然后使用 malloc 分配一个长度为 n 的整型数组空间。如果分配成功,就对数组赋值,输出数组内容,最后释放内存。需要注意的是,使用 malloc 分配内存后,必须在不需要使用时手动调用 free 函数释放内存,以避免内存泄漏的问题。