首頁 >後端開發 >C++ >C 中數組如何傳遞給函數?

C 中數組如何傳遞給函數?

DDD
DDD原創
2024-12-19 04:26:08996瀏覽

How Are Arrays Passed to Functions in C  ?

將陣列傳遞給 C 中的函數

在 C 中,陣列可以透過引用或值傳遞給函數。但是,數組與常規變數不同,因為您不能簡單地將數組名稱傳遞給函數並將其視為特定類型的單一元素。相反,數組名稱被視為指向數組第一個元素的指標。

因此,當您將函數參數宣告為陣列時,實際上是在宣告指向該類型元素的指標。例如,以下函數宣告一個函數,該函數接受一個 int 陣列和一個表示陣列長度的整數:

void printarray(int arg[], int length);

當從 main 函數呼叫 printarray 函數時,陣列的名稱會作為參數傳遞。數組的名稱指的是數組第一個元素的位址。這相當於傳遞一個指向數組第一個元素的指標。

在下面的程式碼中,變數firstarray是一個由三個整數組成的陣列。變數 secondaryarray 是由五個整數組成的陣列。 printarray 函數被呼叫兩次,一次使用第一個陣列參數,一次使用第二個陣列參數。第一個陣列參數的長度為 3,第二個陣列參數的長度為 5。

int firstarray[] = {5, 10, 15};
int secondarray[] = {2, 4, 6, 8, 10};
printarray(firstarray, 3);
printarray(secondarray, 5);

在 printarray 函數中,arg 參數是指向傳入陣列的第一個元素的指標。 length參數是傳入陣列的長度。 printarray函數列印出數組元素的值。

void printarray (int arg[], int length) {
    for (int n = 0; n < length; n++) {
        cout << arg[n] << " ";
    }
    cout << "\n";
}

程式碼的輸出如下:

5 10 15
2 4 6 8 10

以上是C 中數組如何傳遞給函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn