加载中...

浙江理工大学入队200题——19D

问题 D: 动态申请内存(要求用指针完成)

题目描述

malloc是一个动态申请内存的函数,使用时需加头文件#include<malloc.h>
如申请3个int型的空间:
int *p=NULL;
p=(int )malloc(sizeof(int)3);
现要求你用动态申请内存的方式,输入n个整数,存到申请的内存空间里,并按照输入相反的顺序输出
一般,在p不用后,我们用
free(p);
释放内存

输入

第一行,输入一个整数n
第二行,输入n个整数

输出

输出n行,每行一个整数,顺序为原来输入的反序

样例输入 Copy

3
2 3 4

样例输出 Copy

4
3
2

题解

要学会申请内存的用法,,这道你vector也可以,不知道它用法的话你去CSDN上找吧

代码

点击查看代码
#include<malloc.h>
#include<stdio.h>
int main()
{
  int *p=NULL;
  int n;
  scanf("%d",&n);
  p=(int *)malloc(sizeof(int)*(n+1));
  for(int i=0;i<n;i++)
  {
	scanf("%d",p);
	p++;
  }
  p--;
  for(int i=n-1;i>0;i--)
  {
	printf("%d\n",*p);
	p--;
  } 
  printf("%d\n",*p);
  return 0;	
}
posted @ 2022-10-30 15:00  shany212  阅读(186)  评论(0编辑  收藏  举报