C语言 有关数组定义问题

C语言有关数组定义问题这里oi玩家。刚刚pascal转c++不是很熟悉..所以...Q1:在main里定义变量是不是因为视为使用栈空间,所以百万数量级的int的数组是开不... C语言 有关数组定义问题这里oi玩家。刚刚pascal转c++不是很熟悉..所以...
Q1:在main里定义变量是不是因为视为使用栈空间,所以百万数量级的int的数组是开不了的?
(但全局数组百万数量级能开512mb都用满。
但全局数组不能先读入数据量再开数组,浪费空间。)
Q2:能不能有什么办法先读取数据量再开全局数组?
因为每道题有10个测试点,每个点首先输入数据量。第一个点可能只有10个输入数据只要10大小的数组,但最后一个点可能有50万个输入数据。但如果全局直接定义50万数据可能会超内存一个点都过不了。能不能根据输入数据量开全局数组?
Q3:如果Q2不可能实现,那么如果子程序要调用main里面的数组有没有快捷的方法?我是用指针实现了,但是有点麻烦的样子,一维数组还好,多维数组实现会使代码看起来好臃肿。
展开
 我来答
文哥爱生活
2018-07-20 · 超过15用户采纳过TA的回答
知道答主
回答量:45
采纳率:80%
帮助的人:7.4万
展开全部
c语言数组的定义:
元素类型名 数组名[元素个数] 定义一个包含十个int型元素的数组,数组名为arr:int arr[10];//int为元素的类型,不是数组的类型,数组是int[10]类型的。
动态数组与静态数组的对比
对于静态数组,其创建非常方便,使用完也无需释放,要引用也简单,但是创建后无法改变其大小是其致命弱点!
对于动态数组,其创建麻烦,使用完必须由程序员自己释放,否则严重会引起内存泄露。但其使用非常灵活,能根据程序需要动态分配大小。
如何构建动态数组
遵循原则
申请的时候从外层往里层,逐层申请;
释放的时候从里层往外层,逐层释放。
构建所需指针
对于构建一维动态数组,需要一维指针;
对于二维,则需要一维,二维指针;
三维需要一,二,三维指针;
依此类推。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GTA小鸡
高粉答主

2018-07-20 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
  1. 使用malloc函数

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Polaris北斗
2018-07-20 · TA获得超过3204个赞
知道大有可为答主
回答量:2530
采纳率:79%
帮助的人:791万
展开全部
这么多的数据为什么不放到文件里?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式