C语言二维数组的初始化 |
您所在的位置:网站首页 › c二维数组初始化的三种方式是什么意思 › C语言二维数组的初始化 |
二维数组的初始化可以按行分段赋值,也可按行连续赋值。 例如,对于数组 a[5][3],按行分段赋值应该写作: int a[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}}; 其中,花括号的对数代表行数,方括号中的值的个数代表列数。 按行连续赋值应该写作: int a[5][3]={80,75,92,61,65,71,59,63,70,85,87,90,76,77,85}; 这两种赋初值的结果是完全相同的。 在这种赋值方式中,编译器会按行和列的个数去自动识别数值所在的位置。如此数组定义3列,那么每相邻的三个值为一行,依此类推,直到行的个数达到所定义的列数为止。 形象地表示地话,这个数组是这样的: 80 75 92 61 65 71 59 63 70 85 87 90 76 77 85 (此表示方式是为了更易于理解编译器是如何识别行和列) 除此之外 1)在对二维数组定义时,行的值可忽略,但列的值不能忽略,如 int a[][3]={{0,0,0},{1,1,1}}; 这种方式正确。 2)可以只对部分元素赋值,未赋值的元素自动取“零”值。如 int a[3][3]={{1},{2},{3}}; 是对每一行的第一列元素赋值,未赋值的元素的值为 0。 形象地表示地话,这个数组是这样的: 1 0 0 2 0 0 3 0 0 3)二维数组可以看作是由一维数组嵌套而成的;如果一个数组的每个元素又是一个数组,那么它就是二维数组。当然,前提是各个元素的类型必须相同。根据这样的分析,一个二维数组也可以分解为多个一维数组,C语言允许这种分解。 例如,二维数组a[3][4]可分解为三个一维数组,它们的数组名分别为 a[0]、a[1]、a[2]。 这三个一维数组可以直接拿来使用。这三个一维数组都有 4 个元素,比如,一维数组 a[0] 的元素为 a[0][0]、a[0][1]、a[0][2]、a[0][3]。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |