在c語言中,有時我們需要函式的返回值為乙個二維陣列。這樣外部函式接收到這個返回值之後,可以把接收到的二維陣列當成矩陣操作(外部函式不可用普通的一級指標接收返回值,這樣的話,外部函式將不知道它具有二維性)。方法如下:
法1.沒有使用typedef型別定義
法2.使用typedef型別定義#include int (*fun(int b[2]))[2]
int main()
; int (*c)[2];
c = fun(a);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d ",c[i][j]);
return 0;
}
使用typedef型別定義可以增加程式的可讀性#include typedef int (*r)[2];
r fun(int b[2])
int main()
; r c;
c = fun(a);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d ",c[i][j]);
return 0;
}
這兩種方法本質上是一樣的
C語言 關於二維陣列
import int main int argc,const char argv 列印二維陣列 for int i 0 i 3 i for int j 0 j 4 j printf n 把行和列交換,放到新的二維陣列 int b 4 3 for int i 0 i 3 i printf n for ...
C 返回二維陣列
為了讓c語言函式返回乙個二維陣列,有些人這樣定義函式 int foo int rows,int columns 然後在函式中費勁心機拼出來乙個這樣的malloc語句 int result columns int columns malloc rows columns sizeof int 在函式內讀...
返回二維陣列
二維陣列的返回 確切的說是返回二維陣列的指標,二維陣列和一位陣列稍微有些不同,鑑於一維陣列過於簡單,博主在此只講返回二維陣列的兩種方法。一如既往的少廢話,直接上刑,不,上 include int array void return a 返回二維陣列的第一行的首位址 int main void pri...