C 指向二维数组的指针变量
1、指向二维数组的指针变量——存放二维数组在内存中的起始位置的变量。
2、指向二维数组的指针变量的定义与赋值的格式如下:
基类型 (*变量名)[列数] = 二维数组名字;
格式的分析:
(1)基类型:前面学习变量定义的类型,分别有:整型int,浮点型float,字符型char。
(2)一对小括号,一定要加上,这样,”*“ 才可以与“变量名”先结合,组成指针变量。
(3)一对中括号,一定要加上,而中括号里面就要写上列的总数量,同时,这个列的总数量,一定要与将要指向的那个二维数组的列的总数量一样,不能多,也不能少。
(4)最后就是一个等号,以及将要被指向的那个数组的名字。
3、例子:
int a[ 2 ][ 3 ] ={{1,2,3},{4,5,6}};
int (*p)[3]=a;
指针 | a[2][3] | 第1列 | 第2列 | 第3列 |
---|---|---|---|---|
p 指向 | 第1行 | 1 | 2 | 3 |
p+1 指向 | 第2行 | 4 | 5 | 6 |
例子分析:
(1)在这里的指针变量p是一个指向包含3个元素的一维数组的起始地址,为什么会这样呢?
其实,原因就是,二维数组在内存中是以行为单位存放的,上面的例子中,二维数组a有2行,所以,在内存存储时,首先存放第一行中的3个元素,从上面的表格中,我们可以看出,1,2,3这3个值存放在同一行中,所以,它就变成了一个1维的数组,然后,指针变量p就指向它的起始地址,所以,我们就称指针变量p指向一个包含3个元素的一维数组。
(2)如果想让p指向二维数组中的下一行,只要让p+1就可以了,因为,p是指向一个一维数组,所以,加1就代表着指向下一个的一维数组。这样,就可以指向二维数组中的下一行。
非常好,现在,我们已经掌握了C中的“指向二维数组的指针变量”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用“指向二维数组的指针变量”去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)