理解申请内存的系统调用的C语言例子experiment4.c
时间: 2024-03-12 21:44:11 浏览: 52
好的,这是一个演示如何使用系统调用`malloc`和`free`申请和释放内存的 C 语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *ptr;
int n, i, sum = 0;
printf("Enter the number of elements: ");
scanf("%d", &n);
// Allocate memory dynamically
ptr = (int*) malloc(n * sizeof(int));
if(ptr == NULL)
{
printf("Error! memory not allocated.");
exit(0);
}
printf("Enter elements of array: ");
for(i=0; i<n; i++)
{
scanf("%d", ptr+i);
sum += *(ptr+i);
}
printf("Sum = %d", sum);
// Free dynamically allocated memory
free(ptr);
return 0;
}
```
该程序首先从用户那里获取要分配的元素数量,然后使用`malloc`函数动态分配内存。如果内存分配失败,程序将退出并显示错误消息。如果分配成功,程序将要求用户输入数组元素,并计算它们的总和。最后,程序使用`free`函数释放动态分配的内存。
阅读全文