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