1. 功能
函数是C语言标准库中的一个动态内存分配函数。malloc()函数的功能是:向内存申请一块连续可用的空间,并返回指向块开头的指针。
2. 使用方法
头文件:
#include<malloc.h>
malloc函数原型:
extern void *malloc(unsigned int num_bytes);
如果内存分配成功,malloc()会返回一个非空的指针,如果失败(例如,没有足够的可用内存),则返回一个空指针(NULL)。
使用示例:
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("Enter the number of integers: ");
scanf("%d", &n);
// 为n个整数分配内存
int *array = malloc(n * sizeof(int));
if (array == NULL) {
fprintf(stderr, "Memory allocation failed!\n");
exit(EXIT_FAILURE); // 如果内存分配失败,终止程序
}
// 填充数组
for (int i = 0; i < n; ++i) {
array[i] = i + 1;
}
// 打印数组
for (int i = 0; i < n; ++i) {
printf("%d ", array[i]);
}
printf("\n");
// 释放内存
free(array);
return 0;
}
上面的例子中。首先通过 scanf 获取用户输入的整数数量 n。然后使用 malloc 分配足够存储 n 个整数的内存。如果内存分配失败,程序将输出错误信息并终止。如果成功分配了内存,我们将每个元素初始化为从1开始的递增序列,并打印出这个数组的内容。最后,我们使用 free 函数释放之前分配的内存,避免内存泄漏。