您的位置:首页 > 编程语言 > C语言/C++

第10章 C语言及程序设计提高例程-39 动态存储管理与动态数组的实现

2016-06-02 16:12 519 查看
1、问题及代码:

/*动态存储空间管理示例*/

#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p1,*p2,max;
p1 = (int *) malloc(sizeof(int));//sizeof(int)整数类型需要的大小
p2 = (int *) malloc(sizeof(int));//malloc()函数返回void*类型,表示为确定类型的指针
*p1 =100;
*p2 =10;
if(*p1 >*p2)
max = *p1;
else
max = *p2;
printf("max=%d\n",max);
free(p1);//释放内存空间
free(p2);
return 0;
}

2、问题及代码:
/*动态数组的实现*/

#include<stdio.h>
#include<malloc.h>
int main()
{
int *score;
int num,i,total=0;
float aver;
printf("小组共有学生多少名?");
scanf("%d",&num);
score = (int*)malloc(num*sizeof(int)); //用num乘字节数即为给score分配内存空间,C++没有(int*)来强制转换则它是错的
printf("请输入学生的成绩:\n");
for(i=0;i<num;i++)
{
scanf("%d",score+i);
total+=*(score+i);
}
aver=1.0*total/num; //aver为浮点型,所以给它乘一个1.0
printf("平均成绩:%5.2f",aver);
free(score);
return 0;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: