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