[C/C++]數組的引用、多維數組

數組名當參數傳遞的時候會退化爲指針,數組長度沒有實際意義,反而會誤導
void foo(int* a) ;
void foo(int a[]);
void foo(int a[10]);

以上三個寫法等價。

不想讓數組退化爲指針,可以通過傳遞數組的引用來實現
void foo(int (&a)[10]);

這個函數只能接受長度爲10的int型數組。



===============================================================


int *matrix[10];      //array of 10 pointers
int (*matrix)[10];    //pointer to an array of 10 ints
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章