C/C++中用指针表示二维数组的两种常用方法
先说C++:
C++中 vector非常方便,可以用vector来替代数组。
在表示二维数组的时候,可以用vector<vector<int>>,二维数组作为参数入参的时候,可以使用引用,可以对该数组进行修改。
比如fun(vector<vector<int>>& v);
同时也可以使用vector指针。比如vector<int>* dp = new vector<int>[10];这样就定义了10个int型的vector。
vector表示二维数组比较常用的是这两种办法。
如果使用常规的数组的话,比较方便的就是使用指针,而且要注意一点,数组作为参数入参的时候传递数组的名字会自动传递指针。
表示如图所示:
这样就定义了一个3行2列的二维数组
当然也可以使用C语言中的表示,下面来介绍一下。
再说C语言:
因为C语言无法使用new。可以这样来表示 如图所示:
</int></int></int></int>
这样就可以用p[i][j]表示二维数组的某一行 某一列的值。
但是在C语言中有一个问题函数调用的时候不能直接fun(**p),不然会提示
本来的函数是:
修改成这样之后就可以运行使用了:
C++中函数调用二维数组指针可以直接使用fun(**p)