C 函式傳遞和返回陣列

2021-09-17 21:25:17 字數 1247 閱讀 7406

c++ 中您可以通過指定不帶索引的陣列名來傳遞乙個指向陣列的指標。

c++ 傳陣列給乙個函式,陣列型別自動轉換為指標型別,因而傳的實際是位址。

如果您想要在函式中傳遞乙個一維陣列作為引數,您必須以下面三種方式來宣告函式形式引數,這三種宣告方式的結果是一樣的,因為每種方式都會告訴編譯器將要接收乙個整型指標。同樣地,您也可以傳遞乙個多維陣列作為形式引數。

void myfunction(int *param)

void myfunction(int param[10])

void myfunction(int param)

c++ 不允許返回乙個完整的陣列作為函式的引數。但是,您可以通過指定不帶索引的陣列名來返回乙個指向陣列的指標。

如果您想要從函式返回乙個一維陣列,您必須宣告乙個返回指標的函式,如下:

int * myfunction()

例如:

#include #include #include using namespace std;

// 要生成和返回隨機數的函式

int * getrandom( )

return r;}

// 要呼叫上面定義函式的主函式

int main ()

return 0;

}

結果為:

624723190

1468735695

807113585

976495677

613357504

1377296355

1530315259

1778906708

1820354158

667126415

*(p + 0) : 624723190

*(p + 1) : 1468735695

*(p + 2) : 807113585

*(p + 3) : 976495677

*(p + 4) : 613357504

*(p + 5) : 1377296355

*(p + 6) : 1530315259

*(p + 7) : 1778906708

*(p + 8) : 1820354158

*(p + 9) : 667126415

CLR via C 陣列 陣列的傳遞和返回

陣列作為實參傳給方法時,實際傳遞的是對該陣列的引用。因此,被呼叫的方法能修改陣列中的元素。如果不想被修改,必須生成陣列的拷貝並將拷貝傳給方法。注意,array.copy方法執行的是淺拷貝。換言之,如果陣列元素是引用型別,新陣列將引用先有的物件。類似的,有的方法會返回陣列的引用。如果方法構造並初始化陣...

C 陣列在函式中的傳遞與返回

陣列在函式中做形參宣告時可以有兩種形式 陣列 指標,舉例如下 void sum int arr,int len void sum int arr,int len 當且僅當用於函式頭或函式原型中,int arr和int arr的含義才是相同的,他們都意味著arr是乙個int指標。然而,陣列表示法 in...

c 函式返回陣列

c 語言 不允許返回乙個完整的陣列作為函式的引數 但是,您 可以通過指定不帶索引的陣列名來返回乙個指向陣列的指標 我們將在下一章中講解有關指標的知識,您可以先跳過本章,等了解了 c 指標的概念之後,再來學習本章的內容。如果您想要從函式返回乙個一維陣列,您必須宣告乙個返回指標的函式,如下 int my...