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
p+1 指向 第2行
         
         

 

     

 

 

 

 

 

   例子分析: 

    (1)在这里的指针变量p是一个指向包含3个元素的一维数组的起始地址,为什么会这样呢?

   其实,原因就是,二维数组在内存中是以行为单位存放的,上面的例子中,二维数组a有2行,所以,在内存存储时,首先存放第一行中的3个元素,从上面的表格中,我们可以看出,1,2,3这3个值存放在同一行中,所以,它就变成了一个1维的数组,然后,指针变量p就指向它的起始地址,所以,我们就称指针变量p指向一个包含3个元素的一维数组。

    (2)如果想让p指向二维数组中的下一行,只要让p+1就可以了,因为,p是指向一个一维数组,所以,加1就代表着指向下一个的一维数组。这样,就可以指向二维数组中的下一行。

        

 

   非常好,现在,我们已经掌握了C中的“指向二维数组的指针变量”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用“指向二维数组的指针变量”去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

      不要停留在理论规则上面,快动起来吧!

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练