C 语言动态内存分配函数示例程序

cserver side programmingprogramming

问题

如何使用 C 语言动态内存分配函数显示和计算 n 个数字的总和?

解决方案

以下是使用动态内存分配函数显示元素并由用户计算 n 个数字的总和的 C 程序。在这里,我们还尝试减少内存的浪费。

示例

#include<stdio.h>
#include<stdlib.h>
void main(){
   //声明变量和指针,sum//
   int numofe,i,sum=0;
   int *p;
   //从用户读取元素数量//
   printf("输入元素数量:");
   scanf("%d",&numofe);
   //调用 malloc() 函数//
   p=(int *)malloc(numofe*sizeof(int));
   /*打印 O/p - 我们必须使用 if 语句,因为我们必须检查内存是否已成功分配/保留*/
   if (p==NULL){
      printf("内存不可用");
      exit(0);
   }
   //打印元素//
   printf("输入元素:
");    for(i=0;i<numofe;i++){       scanf("%d",p+i);       sum=sum+*(p+i);    }    printf("
元素之和为 %d",sum);    free(p);//擦除前 2 个内存位置//    printf("
显示清除的内存位置:
");    for(i=0;i<numofe;i++){       printf("%d
",p[i]);//将显示垃圾值//    } }

输出

当执行上述程序时,它会产生以下结果 −

输入元素数量:4
输入元素:
23
45
67
89
元素总和为 224
显示清除的内存位置:
7410816
0
7405904
0

相关文章