malloc函数详解
时间: 2023-09-17 15:07:38 浏览: 106
malloc函数详细说明一看就懂
malloc函数是C语言中用于动态分配内存的函数。它的原型为:
```c
void* malloc(size_t size);
```
malloc函数接受一个参数size,表示需要分配的内存大小(以字节为单位)。它返回一个指向分配内存的指针,如果分配失败,则返回NULL。
malloc函数在内存堆中分配一块连续的内存空间,大小由size参数指定。这块内存空间是未初始化的,其中的内容是不确定的。
使用malloc函数分配内存后,可以通过返回的指针来访问和操作这片内存区域。可以使用指针进行读写操作,可以存储任意类型的数据。
需要注意的是,使用完分配的内存后,应该使用free函数将其释放,以便将内存还给系统。
以下是一个示例代码,演示了malloc函数的基本用法:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int* ptr;
int n = 5;
// 分配内存
ptr = (int*) malloc(n * sizeof(int));
if (ptr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 写入数据
for (int i = 0; i < n; i++) {
ptr[i] = i + 1;
}
// 读取数据
for (int i = 0; i < n; i++) {
printf("%d ", ptr[i]);
}
// 释放内存
free(ptr);
return 0;
}
```
这段代码中,首先使用malloc函数分配了n个int类型所占内存大小的空间,然后使用指针ptr访问和操作这片内存区域。最后使用free函数释放了分配的内存。
总结:malloc函数是C语言中动态分配内存的常用函数,它可以根据需要分配内存,并返回一个指向分配内存的指针。使用完分配的内存后,应该使用free函数将其释放。
阅读全文