c语言malloc使用
时间: 2023-09-01 12:08:09 浏览: 41
在C语言中,使用malloc函数可以动态地分配内存空间。malloc函数的原型如下:
```c
void* malloc(size_t size);
```
其中,size是需要分配的字节数,返回值是一个void指针,指向分配的内存空间的起始地址。使用malloc函数需要注意以下几点:
1. 分配的内存空间是连续的,并且没有初始化,所以其中的值是不确定的。
2. 分配的内存空间必须显式地释放,否则会造成内存泄漏。
3. 分配的内存空间大小必须是正整数,否则会导致运行时错误。
下面是一个使用malloc函数分配动态内存的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("请输入需要分配的数组大小:");
scanf("%d", &n);
int *arr = (int *)malloc(n * sizeof(int));
if (arr == NULL) {
printf("内存分配失败!");
return 0;
}
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("您输入的%d个整数是:", n);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
free(arr); //释放动态分配的内存
return 0;
}
```
这个示例代码会根据用户输入的数组大小动态地分配内存,并且读取用户输入的整数,最后输出用户输入的整数并释放动态分配的内存。