c中如何宣告函式,該函式返回指向兩個int值的陣列

2021-08-11 19:13:51 字數 640 閱讀 5327

1樓:倒黴熊

返回陣列就是返回陣列的首地址,也就是 int *可以了

int * funname(引數)

2樓:匿名使用者

二樓是正確的

對於這種宣告,最好採用typedef命令來實現,這樣**看起來舒服一些

typedef int (*new_type)[2] ; //定義一個新的資料型別,指向一個兩個int的指標

new_type name( new_type p )

3樓:莊政警

int(*name(int(*p)[2]))[2] //這樣宣告,看起來像個指標或者陣列,實際是個函式

4樓:

不可能。c/c++的函式不支援返回陣列,只能返回陣列的指標。如果你要宣告一個返回具有兩個int型值的陣列的指標的函式,那這樣就可以了:

int *f(...);。但那個陣列必須是靜態的,全域性的或是在主調函式中宣告的。

返回區域性自動陣列的指標是十分危險的!

5樓:自由之城

1. 函式內部新陣列定義為static,這樣可以直接把這個陣列返回出來;

2. 在函式內部把新陣列的內容拷貝到外部陣列裡。

C 在函式中建立連結串列,怎麼返回

但是,連結串列的復身體部分都是在函制數中創 建的,一旦函式執行完畢,這些身體不就被銷燬了嗎?每一個結點 都是動態new或malloc出來的,不會被銷燬如果用new在預設堆上建立,會被銷燬嗎?如果不會,那用標示符來指定delete呢?身體有關的標示符都是函式裡申請的區域性變數。結點的地址都被儲存在了連...

C 中函式預設值的問題,c 函式宣告裡面帶有預設值的小問題

函式中有多個預設引數,則形參應從最右邊依次向左設定。意思是,當第i 個引數有預設值時,第i 1,i 2,i 3 直到最後一個引數都必須 給預設值。否則語法錯。void point int x,int y 0,int z 0 對 void point int 0,int,int 0 錯 void po...

C怎麼在成員函式裡呼叫指向成員函式的函式指標

1.一個bai指向外部函式的指du針宣告 zhi為 void pf char constchar void strcpy char dest,constchar source pf strcpy 2.一個dao指向類a成員回 函式的指標宣告為 答 void a pmf char constchar ...