C语言malloc函数
时间: 2023-09-08 08:13:51 浏览: 98
malloc函数是C语言中的动态内存分配函数,用于在运行时从堆中分配指定大小的内存空间。它的声明如下:
```c
void* malloc(size_t size);
```
其中,size参数表示要分配的字节数,返回值是一个指向分配的内存空间的指针。如果分配成功,malloc函数将返回一个指向分配内存的指针;如果分配失败,它将返回NULL。
使用malloc函数时,需要注意以下几点:
- 分配的内存空间是连续的字节序列,可以通过指针进行访问和操作。
- 分配的内存空间不会自动初始化,可能包含未知的数据。需要手动进行初始化操作。
- 分配的内存空间在使用完后需要手动释放,以防止内存泄漏。
以下是一个使用malloc函数分配内存并释放的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int* ptr;
int size = 5;
// 分配内存空间
ptr = (int*)malloc(size * sizeof(int));
if (ptr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 初始化内存空间
for (int i = 0; i < size; i++) {
ptr[i] = i + 1;
}
// 打印数组元素
for (int i = 0; i < size; i++) {
printf("%d ", ptr[i]);
}
printf("\n");
// 释放内存空间
free(ptr);
return 0;
}
```
上述代码中,我们使用malloc函数分配了一个包含5个int类型元素的内存空间,并将其赋给指针ptr。然后,我们对分配的内存空间进行了初始化,并打印了数组元素。最后,我们使用free函数释放了分配的内存空间,以防止内存泄漏。
阅读全文