c++ - 二维数组初始化问题
PHPz
PHPz 2017-04-17 15:04:38
[C++讨论组]


d选项为什么是正确的,答案是c,AB选项可以理解

PHPz
PHPz

学习是最好的投资!

全部回复(2)
怪我咯

只说一句: 数据的初始化 按行,一行一行的初始化, 我可以不知道有多少行, 但是我必须知道一行放几个数据(也就是有几列), 这是二维, 然后扩展3维, 我可以不知道有几页数据,但是我必须知道一页数据存储几行几列.

---华丽分割线---

大于等于二维的,第一个都可以省略. 其他的都不可以省略. 第一个不一定是行数. 只是打个比喻,这么理解容易记忆.

就像你有一些 麻将, 按行来排列. 你只需要知道一行放几个(几列), 就可以知道放几行. (2维) 
int arr[行数][5];
如果知道了行和列, 你就能推算出放几层了. (3维) 
int arr[层数][5][5];
如果知道了行,列,层, 我就能知道放几堆了. (4维)
int arr[堆数][5][5][5];
如果知道了行,列,层,堆, 我就能推算出可以放在几张桌子上了.(5维)
int arr[桌子数][5][5][5][5];
如果知道了行,列,层,堆,桌子的张数, 我就能推算出, 我要用几间屋子来存放了.(6维)
int arr[屋子][5][5][5][5][5];
...

数字化之后:
int arr[n-1]...[6][5][4][3][2][1][0]; 

n-1下标是可以省略的.其他都不可以;

掌握方法,学会类推,比什么都重要;别死记答案.

大家讲道理

二维数组的声明并赋值的时候必须指定第二维的长度, 第一维可以省略

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号