Objective-C 二维数组
接下来,我们准备为大家介绍Objective-C中的“二维数组”。
二维数组——二维数组的定义跟一维数组是一样的,而有所不同的只是二维数组多了一对"中括号"和"常量表达式"。
1、接下来,我们首先看看"二维数组"的定义格式:
类型关键字 数组名 [ 常量表达式 ] [ 常量表达式 ] ;
例子:int a[3][3]; float b[3][5]; char c[8][4];
通过上面的例子,我们可以知道,二维数组的定义跟一维数组是一样的,而有所不同的只是二维数组多了一对"中括号"和"常量表达式。
同时,二维数组中的第一个"中括号"里面的"常量表达式"代表着二维数组中有多少行,而第二个"中括号"里面的"常量表达式"代表着二维数组中有多少列。
而二维数组的大小,是使用"行的总数"乘以"列的总数"。
2、当了解完"二维数组"的定义以后,我们再看看如何在定义时给二维数组赋上初值。
对二维数组所有的元素都进行赋值的操作:
方式1: int a[2][3] = { {1,2,3} , {4,5,6} };
通过方式1,我们可以看到第1个大括号内的数据赋给第1行中的3个元素,而第2个大括号内的数据赋给第2行中的3个元素。而这种方式,是按行来赋初值。
结果如下:
a[0][0] =1 a[0][1] =2 a[0][2] =3
a[1][0] =4 a[1][1] =5 a[1][2] =6
对二维数组所有的元素都进行赋值的操作:
方式2: int a[2][3]={1,2,3,4,5,6};
通过方式2,我们可以看到,是把所有的数据写在一个大括号内,就是按数组排列的顺序对每个元素赋初值,跟一维数组类拟。同时,它的存放顺序是按行来存放的。
结果如下:
a[0][0] =1 a[0][1] =2 a[0][2] =3
a[1][0] =4 a[1][1] =5 a[1][2] =6
对二维数组部分的元素都进行赋值的操作:
方式3: int a[2][3]={{1},{4}};
方式3:对部分元素进行赋初值,在这里,它是对各行的第1列赋初值,其余元素自动为0。
结果如下:
a[0][0] =1 a[0][1] =0 a[0][2] =0
a[1][0] =4 a[1][1] =0 a[1][2] =0
对二维数组部分的元素都进行赋值的操作:
方式4:int a[2][3]={{1},{0,0,5}};
方式4:也是对部分元素进行赋初值,在这里,它是对各第1行第1列以及第2行第3列进行了赋初值。
但是由于,在第2行中第3列的前面还有第1列与第2列的元素,所以,即使不对它们赋值也要写上0。
结果如下:
a[0][0] =1 a[0][1] =0 a[0][2] =0
a[1][0] =0 a[1][1] =0 a[1][2] =5
对二维数组中某行的元素都不进行赋值的操作:
方式5:int a[3][3]={{1},{},{8}};
方式5:对第一行第1列赋值为1,第二行整行不赋值,第三行第1列赋值为8。
结果如下:
a[0][0] =1 a[0][1] =0 a[0][2] =0
a[1][0] =0 a[1][1] =0 a[1][2] =0
a[2][0] =0 a[2][1] =0 a[2][2] =8
方式6:int a[3][3]={{1},{8}};
方式6:对第一行第1列赋值为1,第二行第1列赋值为8,第三行整行不赋值。
结果如下:
a[0][0] =1 a[0][1] =0 a[0][2] =0
a[1][0] =8 a[1][1] =0 a[1][2] =0
a[2][0] =0 a[2][1] =0 a[2][2] =0
二维数组定义时,行的总数量忽略:
方式7:int a[ ][2]={1,2,3,4};
方式7:定义时可省略总行数定义,由系统跟据元素的总个数再根据列数,来求得总行数为2,因为,初值有4个,所以,就是4除以2等于2行。
结果如下:
a[0][0] =1 a[0][1] =2
a[1][0] =3 a[1][1] =4
二维数组定义时,行的总数量忽略:
方式8:int a[ ][4]={{0,0,1},{},{0,8}};
方式8:告诉系统有3行,因为,里面有3个大括号。
结果如下:
a[0][0] =0 a[0][1] =0 a[0][2] =1 a[0][3] =0
a[1][0] =0 a[1][1] =0 a[1][2] =0 a[1][3] =0
a[2][0] =0 a[2][1] =8 a[2][2] =0 a[2][3] =0
另外,二维数组定义时,总列数的定义不能省略
3、当我们学习完二维数组的"定义"与"赋初值"以后,我们再来学习,如何引用二维数组中的"元素"。
二维数组元素的引用——就是通过一个"数组名" ,加上2对"中括号",以及2个"下标"来说明要引用哪一个元素。即通过行号与列号就可以确定二维数中的元素,同时,行号或列号的下标都是从0开始。
例子:
int a[2][3]={{1,2,3},{4,5,6}};
a[1][0];
例子分析:
在例子中,第1个"下标"是"1",表示要引用第2行,而第2个"下标"是"0",表示要引用第1列,所以,就确定了第2行第1列的元素,就是4。
虽然,上面的二维看起来有点复杂,但是,大家不用担心,只要先做到记住二维数组的格式与各种赋值方式,然后,多练习几次,再重复结合其它的知识点一起训练,再训练,自然就可以从最初的记住,到熟练,然后,再到灵活运用了。
非常好,现在,我们已经掌握了Objective-C中的“二维数组”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)