關於C語言函式返回二維陣列的做法

2021-06-01 12:50:52 字數 667 閱讀 6298

在c語言中,有時我們需要函式的返回值為乙個二維陣列。這樣外部函式接收到這個返回值之後,可以把接收到的二維陣列當成矩陣操作(外部函式不可用普通的一級指標接收返回值,這樣的話,外部函式將不知道它具有二維性)。方法如下:

法1.沒有使用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;

}

法2.使用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;

}

使用typedef型別定義可以增加程式的可讀性

這兩種方法本質上是一樣的

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...