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

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;
}
    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值