当前位置:   article > 正文

c++ 全局数组_c++ 怎么使数组全局化

c++ 怎么使数组全局化

题目描述
输入n个正整数,然后将它们输出。

注:
需要将所有元素存储在数组中,然后一次性输出
请对比数组定义在main函数中与定义在全局的执行结果有何不同
输入描述
第一行一个整数n,表示需要输入的正整数的个数;

第二行为用空格隔开的n
个正整数(每个正整数均不超过100)。

输出描述
输出一行,表示输入的 n个正整数。整数间用一个空格隔开,行末不允许有多余的空格。

样例1
输入
3
2 8 5
输出
2 8 5

#include <bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	int a[1000000];
	for(int i=0;i<n;i++)
		cin>>a[i];
	for(int j=0;j<n-1;j++)
		cout<<a[j]<<" ";
		cout<<a[n-1];
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述
当我们试图在函数中开一个大数组时,很容易使程序报错退出,这是因为在函数(包括主函数)中定义变量时,变量会存放在“栈”区,栈区可以分配的内存较小,所以在开大数组的时候会因为申请不到内存而报错退出。

而如果我们把数组开在函数外面,那么将会存放在“堆”区,堆区可以分配的内存较大,适合开大数组。

#include <bits/stdc++.h>
using namespace std;
int a[1000000];
int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
		cin>>a[i];
	for(int j=0;j<n-1;j++)
		cout<<a[j]<<" ";
		cout<<a[n-1];
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

正确
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/44389
推荐阅读
相关标签
  

闽ICP备14008679号