介绍一下malloc函数并且举例
时间: 2023-10-13 07:53:42 浏览: 151
malloc函数是C语言中用于动态分配内存的函数。它的原型是`void *malloc(size_t size)`,其中`size_t`是无符号整数类型,表示要分配的内存块的大小(以字节为单位)。
malloc函数会在堆(heap)中分配一块指定大小的内存,并返回一个指向该内存块起始地址的指针。如果分配成功,则返回的指针是有效的;否则,返回NULL表示内存分配失败。
下面是一个使用malloc函数动态分配内存的示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int size;
printf("请输入数组大小: ");
scanf("%d", &size);
// 动态分配内存
int* arr = (int*)malloc(size * sizeof(int));
if (arr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 使用动态分配的内存
for (int i = 0; i < size; i++) {
arr[i] = i * 2;
printf("%d ", arr[i]);
}
// 释放动态分配的内存
free(arr);
return 0;
}
```
在上述示例中,通过`malloc(size * sizeof(int))`动态分配了一个大小为`size`的整型数组,并将返回的指针强制类型转换为`int*`。然后,可以像使用普通数组一样使用该指针进行读写操作。最后,通过调用`free(arr)`来释放动态分配的内存,以避免内存泄漏。
阅读全文