84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
d选项为什么是正确的,答案是c,AB选项可以理解
学习是最好的投资!
只说一句: 数据的初始化 按行,一行一行的初始化, 我可以不知道有多少行, 但是我必须知道一行放几个数据(也就是有几列), 这是二维, 然后扩展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下标是可以省略的.其他都不可以;
掌握方法,学会类推,比什么都重要;别死记答案.
C选项为什么错你应该知道吧?我就直接说D选项了,在C语言中,多维数组用这两种方式初始化是等效的,
int a[3][4] = { {0, 1, 2, 3} , {4, 5, 6, 7} , {8, 9, 10, 11} };
和
int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
对于多维数组的初始化,我们根本不需要这么多花括号。在《C和指针》第162页作者有指出,用花括号只是为了好识别罢了,直接上图。
二维数组的声明并赋值的时候必须指定第二维的长度, 第一维可以省略
只说一句: 数据的初始化 按行,一行一行的初始化, 我可以不知道有多少行, 但是我必须知道一行放几个数据(也就是有几列), 这是二维, 然后扩展3维, 我可以不知道有几页数据,但是我必须知道一页数据存储几行几列.
---华丽分割线---
大于等于二维的,第一个都可以省略. 其他的都不可以省略. 第一个不一定是行数. 只是打个比喻,这么理解容易记忆.
掌握方法,学会类推,比什么都重要;别死记答案.
C选项为什么错你应该知道吧?我就直接说D选项了,在C语言中,多维数组用这两种方式初始化是等效的,
和
对于多维数组的初始化,我们根本不需要这么多花括号。在《C和指针》第162页作者有指出,用花括号只是为了好识别罢了,直接上图。
二维数组的声明并赋值的时候必须指定第二维的长度, 第一维可以省略