初學者剛學完陣列後,需要將陣列作為引數傳遞時,會直接將陣列作為引數傳遞,實際上
陣列作為形參傳遞時,是以指標傳遞的。
void print(int* a);
void print(int a);
//儘管形式不同,但是上面兩個函式是等價的,每個函式的唯一形參都是 int* 型別
void print(const
char *p)}}
<2>*使用標準庫規範(推薦使用) 傳遞指向陣列首元素和尾元素的指標
void print(const char *begin, const char *end)
cout << endl;
}
<3>顯式傳遞乙個表示陣列大小的形參 專門定義乙個表示陣列大小的形參
//這種方式,在初學時,踩過陣列越界的坑後,一般會使用這種方式寫
void print(const
char a, size_t size)
cout
<< endl;
}
驗證程式:
陣列作為函式引數傳遞
陣列有兩個特殊的性質。一是不能複製陣列 二是使用陣列名字時,陣列會自動轉化為指向其第乙個元素的指標。由於陣列不能複製,所以無法編寫使用陣列型別形參的函式,因為陣列會被自動轉化為指標。一 一維陣列 1.三種定義形式 void printvalues int void printvalues int v...
陣列作為函式引數傳遞
重點 在c中,陣列是不能作為引數進行傳遞的,但是可以通過傳遞指向陣列初始元素的指標,使得在函式內部運算元組成為可能。在函式這一側,可以通過array i 引用陣列的內容。why?本質上array i 不過是 array i 的語法糖。include void func int array,int s...
c 中如何給函式傳遞陣列引數
在c 中,如果要給乙個函式傳入乙個陣列,一般都是傳入兩個引數乙個陣列指標和乙個陣列大小 例 void print 1 int n,int datas std cout std endl 對這個函式,我們可以這樣使用它 const int n 3 int datas n print 1 n,datas...