C语言二维数组,二级指针与动态内存分配(1)

今天遇到一个C语言实现判断任意大小矩阵(二维数组)是否为单位矩阵的题目,要求第一个参数为整型指针,第二个参数为矩阵大小。

分析: 首先想到的用一级指针当数组用,于是很快得到了一个将一级指针做形参,用一维数组名传参的解决方案1。

解决方案1:

……


优点: 思路简单,用两级循环实现

缺点: 需要把二维数组转化为一维数组


我是在什么样的情况下,得到上述解决方案的呢?

没有理解二维数组和一维数组的存储规律的联系的情况下,得到了上述一个不成熟的方案。

在度娘的帮助下,搞清楚了二维数组传参的技巧,以及联想到二维数组其实也是按行顺序存储的。于是,BinGo, 用二维数组首元素的地址做形参,于是上面的函数体代码,丝毫不用改,全新的解决方案应运而生。

解决方案2:

……

你可能感兴趣的:(C语言二维数组,二级指针与动态内存分配(1))