在C中傳遞一個數組,在C中傳遞一個數組,通過Refere將數組傳遞允許我們修改傳遞給函數的原始數組。當我們在數組類型之前使用ampersand(&)符號時,我們會創建對該數組的引用。
void foo(int(int(&myArray)[100])) { } int main() { int a [100]; foo(a); } 在此示例中,FOO函數接受對100個整數數組的引用。 MyArray之後的括號必須表明參數是數組引用,而不是指針。 expression(&myArray)[100]表示“對100個整數數組的引用”。這是聲明數組參考的另一種方法。 The following declarations are equivalent:
int (&myArray)[100]int *myArrayvoid foo(int (&myArray)[100]) { } int main() { int a[100]; foo(a); }int myArray[]
When passing an array by reference, the compiler treats the function parameter as a pointer to the first element in the array.這意味著對函數中數組的任何更改也將反映在原始數組中。
重要的是要注意void foo(int(&myArray)[100] [100])僅接受100個元素的數組。如果我們試圖傳遞與FOO函數不同大小的數組,則會導致編譯時錯誤。免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3