举报
gf280677
哦,这个啊 此处利用了C对数组越界不检查的特性 int a[2][3] = {1, 2, 3, 4, 5, 6}; 其中a[1][0]=4,其实a[1][0]也可以看做a[0][3],因为数组的元素是连续存储的嘛 其实f(*a,2,3);就是利用我说的方法想把二维数组视为一维数组来处理 指针p始终指向了成为以为数组后的数组的头部,k代表的是二维数组下的行号,l是二维数组下的列号 k * j+l这个其实就是吧二维数组给一维数组化,原先二维数组的行号*原先二维数组的列数+原先在二维数组中列号=在新一维数组中的列号 其实单步执行一下的话,很容易就理解了