首先说一下二维数组与指针吧,要访问一个数组的元素a[1][2],我们应该写成这样
(a+1)+2,而单独的(a+1)表示第一行(下标为1,本来应当为数组的第2行)。从指针的角度看,二维数组是由一个指针数组和一个其他数据类型的数组组成。
思路:用malloc创建一个n行n列的二维数组,首先创建一个有n个元素的指针数组(为二维数组的行),在创建n个其他数据类型的数组即可。
代码如下:(不知道为什么代码块加不进去,只能看图片了)
测试:创建一个对角线为1的二维数组(单位矩阵)
运行结果如下