1、 指向二维数组的指针变量
二维数组指针就是二维数组的起始内存地址,而指向二维数组的指针变量,就是存放二维数组起始内存地址的指针变量。
2、指向二维数组的指针变量的定义与赋值的格式如下:
基类型 (*变量名)[列数] = 二维数组名字;
格式的分析:
(1)基类型:前面学习变量定义的类型,分别有:整型int,浮点型float,字符型char。
(2)一对小括号,一定要加上,这样,”*“ 才可以与“变量名”先结合,组成指针变量。
(3)一对中括号,一定要加上,而中括号里面就要写上列的总数量,同时,这个列的总数量,
一定要与将要指向的那个二维数组的列的总数量一样,不能多,也不能少。
(4)最后就是一个等号,以及将要被指向的那个二维数组的名字。
3、例子:
int a[ 2 ][ 3 ] ={{4,5,6},{7,8,9}};
int (*p)[3]=a;
指针 |
a[2][3] |
第1列 |
第2列 |
第3列 |
p 指向 |
第1行 |
4 |
5 |
6 |
p+1 指向 |
第2行 |
7 |
8 |
9 |
|
|
|
|
|
|
|
|
|
|
例子分析:
(1)在这里的指针变量p是一个指向包含3个元素的一维数组的起始地址,为什么会这样呢?
其实,原因就是,二维数组在内存中是以行为单位存放的,上面的例子中,二维数组a有2行,
所以,在内存存储时,首先存放第一行中的3个元素,从上面的表格中,
我们可以看出,4,5,6 这3个值存放在同一行中,
所以,它就变成了一个1维的数组,然后,指针变量p就指向它的起始地址,
所以,我们就称指针变量p指向一个包含3个元素的一维数组。
(2)如果想让p指向二维数组中的下一行,只要让p+1就可以了,因为,p是指向一个一维数组,
所以,加1就代表着指向下一个的一维数组。这样,就可以指向二维数组中的下一行。
=======================================================================
非常好,现在,我们已经掌握了C语言中的(指向二维数组的指针变量)但是,如何去运行用它呢?
所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。
>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行
编程训练)
|