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

1、问题及代码:

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

#include
#include
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
#include
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


你可能感兴趣的:(C语言,C语言案例)