C語言 通過指標從函式返回乙個陣列

2021-06-01 01:27:56 字數 555 閱讀 9429

忘記最初在網上想找什麼資料了,偶然間看到這篇的,如果讓我自己寫的話,肯定不會寫的,好好學習了下。

嚴格的講,無法直接從函式返回乙個陣列。但是,可以讓函式返回乙個指向任何資料結構的指標,當然也可以是乙個指向陣列的指標。

下面直接貼**:

view plain

copy to clipboard

print?

#include 

#include 

#include 

#define print_address(addr) printf("0x%08x/n", (addr))

// 使用指標從函式返回乙個陣列

// paf是乙個函式,它返回乙個指標,該指標指向乙個包含20個int元素的陣列

int (*paf())[20]  

// 初始化資料

for (i = 0; i < 20; i++)  

return pear;  

}  void usepointerreturnarrayfunction()  

int main()    

c語言中函式能返回乙個陣列嗎

不能直接返回乙個陣列,但是可以用其他方式實現類似功能。方法1 利用全域性變數 分析 全域性變數作為c語言的乙個知識點,雖然我們都了解它的特點,但在實際教學過程中應用得並不是很多。由於全域性變數的作用域是從定義變數開始直到程式結束,而對於編寫有多個返回值的c語言函式,我們可以考慮把要返回的多個值定義成...

c 返回乙個陣列

bqg s complexity analysis 最近遇到乙個很不一般的事情,返回乙個陣列時,我們可以直接返回它的首位址,但是如果呼叫兩次以上,返回的數值就是有問題的了。呼叫兩次js 函式,分別用a b陣列存放返回的陣列值,但是接收到返回的數值居然和我返回前存放的數值不一樣。及改善 include...

c語言,c 函式返回乙個陣列,二維陣列

與其他高階語言相比,c語言,c 最大的不方便之處就是 函式只能返回乙個數值。若要返回乙個陣列,必須用到指標以及動態分配記憶體。這是乙個坎,就如學結他時的大橫按一樣,不少人在這個坎上望而卻步。我前幾年一直看不懂,最近重溫c 與c 的動態記憶體,發現忽然明白會用了。可能經過這幾年大量的程式設計,越來越具...