搜索
查看: 667|回复: 10
打印 上一主题 下一主题

cpc_关于C语言你不知道的10大秘密2

[复制链接]
跳转到指定楼层
楼主
发表于 2017-8-30 19:35:13 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 赵林 于 2017-8-31 10:43 编辑

昨天的
2017.8.30 秘密2这个应该有些人知道。。。
又是关于数组的
猜猜看,这个能通过编译吗?
[mw_shl_code=c,true]int a[2][3][4][5][3][2];[/mw_shl_code]
虽然少数人知道答案,但多数人都会认为这是一派胡言。
这句话声明了一个“六维数组”,是可以通过编译的。
占用的空间:sizeof(a)==2880。(这是我口算的)
要注意的是,数组不能定义过大
否则虽然通过编译,却会出现类似scanf忘写取址符的问题。
我的机器最多可以定义大小为2097152(2的21次幂)的变量(也就是262144个元素的int型数组)
当然,其他变量也占用空间
这样就要小心,如果定义五维数组,每维都是15个元素,就不行
但虽然三维数组有时会用到(例如100个工人,每个工人每小时组装20个零件,每天组装10个小时,可以用a[100][10][20]记录每个零件的情况),但更高维数组就很少用到
沙发
 楼主| 发表于 2017-8-30 19:47:24 | 显示全部楼层
初学C 发表于 2017-8-30 19:45
[mw_shl_code=c,true]#include
#include
int static a[35][15][15][15][15][15][15];

写错了,是static int。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表