malloc函数的用法
时间: 2023-10-13 17:21:41 浏览: 86
malloc函数是C语言中用于动态分配内存的函数,其原型为:
```c
void *malloc(size_t size);
```
其功能是向系统申请一块大小为size字节的内存空间,并返回该内存空间的地址。如果申请失败,则返回NULL。使用malloc函数时需要注意以下几点:
1. malloc函数返回的是void类型指针,需要进行强制类型转换才能使用。
2. 申请的内存空间大小必须是非负数。
3. malloc函数申请的内存空间在使用后需要手动释放,否则会造成内存泄漏。
4. 申请的内存空间不会被初始化为0,需要手动初始化。
下面是一个例子,展示如何使用malloc函数:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
printf("请输入需要申请的内存空间大小:");
scanf("%d", &n);
int *p = (int *)malloc(n * sizeof(int));
if (p == NULL)
{
printf("申请内存空间失败!\n");
return -1;
}
// 使用申请的内存空间
for (int i = 0; i < n; i++)
{
p[i] = i;
printf("%d ", p[i]);
}
// 释放申请的内存空间
free(p);
p = NULL;
return 0;
}
```
在上面的例子中,我们首先输入需要申请的内存空间大小,然后使用malloc函数申请了一个大小为n * sizeof(int)的int类型数组,最后使用for循环填充数组并输出。最后,我们使用free函数释放申请的内存空间,将指针p赋值为NULL,以防止野指针的产生。
阅读全文