Java教程

二维数组与指针之间的基本关系

本文主要是介绍二维数组与指针之间的基本关系,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

    在c语言中,二维数组与指针之间中有着密切的关系。

    一般来说,二维数组的表现形式为a[i][j],而在指针中,与这个表现形式相同的指针形式为*(*(a+i)+j);

    为什么要这么表示呢?

    首先我们理解二维数组,二维数组就是一个平面,里面有很多小格子,格子里面可以储存元素,一般都是按行按列顺序排放。我们不妨转化一个角度来看:二维数组就是一维数组。为什么这么说呢?

实际上,二维数组就是有多个一维数组组件而成的,把二维数组看作一维数组,一维数组里面的每一个元素,恰好又是一个一维数组

 

 

(电脑绘图太难了呜呜呜,将就着看吧)

然后我们从一维数组的方式去理解指针,一维数组一般a[n],指针上表示通常为*a,那么,一维数组里面元素的地址,我们该如何去表示呢?这时的表示方法就应该为*a[i]+j,也可以表示为a[i]+j,这时,我们要取出里面的元素,就应该为*(*(a+i)+j);这时我们要把“a[i]”这个指针,要当作列来看,第i个就是所谓的第i行的元素,加上j后,就是在第i行的基础上,在偏移j个字节单位(看类型),这样我们就可以得到第i行第j列的元素了。这个时候,二维数组的运算法则就可以运用到指针上面来了;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于二维数组与指针之间的基本关系的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!