malloc函数如何使用?
时间: 2023-10-13 13:12:23 浏览: 62
malloc函数用于在堆中动态分配内存空间,其函数原型为:
```
void* malloc(size_t size);
```
其中,size_t是一个无符号整数类型,代表需要分配的字节数。malloc函数返回一个指向分配内存空间的起始地址的指针,如果分配失败,则返回NULL。
使用malloc函数的一般步骤如下:
1. 在程序开始时,定义一个指针变量,用于存储分配的内存空间的地址。
2. 使用malloc函数分配内存空间,并将分配的字节数作为参数传递给函数。例如,如果需要分配10个整数的存储空间,则需要分配的字节数为10 * sizeof(int)。
3. 检查malloc函数返回的指针是否为NULL,如果是,则表示分配失败,程序应该进行错误处理。
4. 如果分配成功,则可以使用该指针变量访问分配的内存空间,进行读写操作。
5. 在不需要使用该内存空间时,使用free函数释放内存空间,避免内存泄漏。
例如,下面的代码分配了10个整数的存储空间,并将其初始化为0:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int* ptr;
ptr = (int*)malloc(10 * sizeof(int));
if (ptr == NULL) {
printf("Memory allocation failed.\n");
exit(1);
}
for (int i = 0; i < 10; i++) {
ptr[i] = 0;
}
for (int i = 0; i < 10; i++) {
printf("%d ", ptr[i]);
}
free(ptr);
return 0;
}
```
阅读全文