malloc函数的用法
时间: 2023-10-13 08:28:11 浏览: 21
malloc是C/C++中的内存分配函数,用于动态地分配内存空间,其函数原型为:
```c
void *malloc(size_t size);
```
其中,size_t是一个无符号整型,表示需要分配的内存空间的大小(单位是字节)。该函数返回一个void类型的指针,指向所分配的内存块的首地址。
使用malloc函数的一般步骤为:
1. 定义一个指向所分配内存块的指针变量;
2. 调用malloc函数,并将需要分配的内存大小作为参数传入;
3. 检查malloc函数的返回值是否为NULL,如果为NULL,则说明分配内存失败,否则说明内存分配成功;
4. 使用指针变量操作所分配的内存空间;
5. 在使用完所分配的内存空间后,使用free函数释放内存空间。
例如,以下示例代码使用malloc函数动态分配了一个长度为10的int类型数组,并将其初始化为全0:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
// 动态分配10个int类型变量的内存空间
int *arr = (int*)malloc(10 * sizeof(int));
if (arr == NULL) {
printf("malloc failed!\n");
return -1;
}
// 将数组初始化为全0
for (int i=0; i<10; i++) {
arr[i] = 0;
}
// 使用数组
for (int i=0; i<10; i++) {
printf("%d ", arr[i]);
}
// 释放内存空间
free(arr);
return 0;
}
```