1樓:匿名使用者
用指標來實現;如void fun(int (*p)[5]);則不傳遞到指標p的二維陣列將會應為執行fun函式。改變~~
2樓:匿名使用者
函式不能返回乙個陣列,只能返回乙個變數,或位址 。如果你想直接返回乙個二維陣列,這是做不到的。你可以用下面的方法 ,先建乙個結構體。
struct array; array solve() 通過這種方法,來得到二維陣列。
c語言函式可以返回二維陣列首位址嗎
3樓:逆心小土豆
c語言中函式不能直接返回乙個二維陣列。但是可以通過其他方法實現類似功能:
1、把二維陣列定義為全域性變數 這樣可以直接在另乙個函式中呼叫2、把二維陣列作為指標傳入到第乙個函式中 然後同樣作為指標傳到另乙個函式中。
3、動態分配記憶體 在賦值函式中動態分配 並用返回值返回,在另乙個函式中進行訪問。
c語言 如何返回乙個二維陣列
4樓:網友
#include
#include // for malloc()// 返回乙個hilbert型別的(n * n)階矩陣double **hilbert(int n)}return arr;
/ 顯示二維陣列資訊。
void show(double **a,int n)printf("");
/ 釋放動態記憶體。
void freememory(double **a,int n)int main ()
5樓:網友
c語言,這裡用malloc(標頭檔案申請對空間。
int **a=(int **malloc(n*sizeof(int *)
int i;
for(i=0;i當然a可以定義為全域性變數。
int a[n][n];
放在main()函式之外,這樣本檔案裡任何乙個函式都能訪問。
6樓:網友
1、函式不能返回乙個陣列,只能返回乙個變數,或位址 。如果你想直接返回乙個二維陣列,這是做不到的。可以用下面的方法 ,先建乙個結構體。
struct array; array solve() 通過這種方法,來得到二維陣列。
2、陣列在作為函式返回值或者函式引數時,實際上只作為指標來返回或者傳遞的。因此返回值用指標資料型別。比如下面的**:int g_a[4] = ;
int * retn_arrary() //返回值用指標型別即要。
c語言,函式中如何返回二維陣列,用return和不用return兩種方法?
7樓:網友
直接用陣列做引數就行啊,因為那是位址傳遞,不用返回,
8樓:軍軍
陣列無法返回的,只能用指標方法。
9樓:網友
return 就直接返回可以了。
不用return 就將二維陣列的指標或者引用作為引數。
10樓:網友
用return的一般設為指標函式;不用return就直接位址專遞;
#include
#define n 3
void print(int a[n][n])int main()
二維用return 我不會 ,我這是一維。
c語言函式如何返回二維陣列?
11樓:000英魂
你這個二維陣列要動態分配的才行,不然儲存週期只在他的函式里面有效。
c語言如何讓函式返回二維陣列?
12樓:網友
你本身傳遞的就是陣列,並不需要返回陣列,直接在你的函式內更改二維陣列的值的就行了(注意,如果在是函式內建立的陣列,再返回會有問題,出了函式這個變數就無效了),比如如下。
#include
void fun(int (*pintptr)[4])int main()
int i,j;
fun(a);
for(i=0;i<4;i++)
如何返回函式內的二維陣列
13樓:草原上之狼
c語言中函式不能直接返回乙個二維陣列。但是可以通過其他方法實現類似功能:
1、把二維陣列定義為全域性變數 這樣可以直接在另乙個函式中呼叫2、把二維陣列作為指標傳入到第乙個函式中 然後同樣作為指標傳到另乙個函式中。
3、動態分配記憶體 在賦值函式中動態分配 並用返回值返回,在另乙個函式中進行訪問。
14樓:聽不清啊
把二維陣列作為形參來設計函式。
c語言中返回二維陣列
15樓:孟羽然
arr是在執行棧上的,fun()執行完畢返回時,棧上的東西就都釋放掉了。
所以要想返回二維陣列,只能用malloc在堆上分配記憶體。
當然,呼叫fun()的函式要負責free釋放記憶體。
16樓:網友
如果是在main中動態獲得陣列的值,那麼,最好在main裡面建立陣列,然後把陣列傳給fun進行修改,等fun返回以後,main獲得的就是修改後的陣列了。
void func(char array[1000][4])
main()
17樓:
把fun()中的陣列arr動態分配,然後返回其位址。main用完後釋放空間。
18樓:網友
#include
輸入引數: i,j陣列的下標。
輸出:指定下標陣列的值。
char * fun(int i,int j)int main(void)
c語言的函式返回值,c語言中,函式返回值怎麼用?
所謂返回值,就是人們想要知道函式或者程式所得到 的結果而設計的函式或者程式結束時給出一個值。比如 我們編寫一個加法函式,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程式的返回值。關於返回值的返回 1 函式呼叫語句本身代表其返回值 例如 fun a 那麼 fun a 就是這個返回值。...
c語言二維陣列
因為你的s是一個二維陣列。如果你的s是一維陣列,像s 20 這樣,那麼在gets時不需要加 0 你定義的s是個二維陣列,並且是char型別,所以每一行存放一個字串。s n 代表第n 1行,而gets時的引數需要是一個字串指標,或者字串陣列名,所以這裡必須要寫作gets s n 其中0 n 20 我明...
c 類函式中怎麼返回和使用二維陣列
include using namespace std class foo foo foo foo foo 返回指向二維陣列的指標函式 int foo test2darray unsigned r,unsigned c return arr2d int main cout endl 釋放記憶體 fo...