本帖最后由 赵林 于 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]记录每个零件的情况),但更高维数组就很少用到
|