以下三種形式等價
void
function
(const int *arg);
void
function
(const int arg);
void
function
(const int arg[10]);
//這裡維度表示期望有10個,並不代表真實為10個
以上三個函式等價於將陣列的頭指標const int*型別傳遞給函式,但是不知道陣列的長度。有以下方法解決。
1.使用標記指定陣列長度
使用乙個確定的標記告訴當讀取到該標記時,表示陣列結束。
2.使用標準庫
int a = ;
void function
(const int *begin, const int *end){
for(auto i = begin;i!=end;++i){
cout<<*i(begin(a),end
(a));
void
function
(const int a, size_t size);
C 中函式作為形參傳遞
規定 沒有括號的函式名被認為是乙個指向該函式的函式指標 如 void add 這裡的add就是指向該函式的指標 語法 函式返回值的型別 作為指標的函式名 該函式的引數 如 void visit int a,int b 如果有個函式swep要呼叫某個函式,那麼 swep void visit int ...
C 函式引數傳遞 陣列形參
1 三種傳遞陣列的寫法 下面這三種寫法本質是一樣的 void fun1 int x,size t size void fun2 int x,size t size void fun3 int 10 x,size t size 這個10其實是沒用的,編譯器會忽略掉 2 形參的長度會引起誤解 3 陣列實...
陣列作為形參
在函式傳遞值的過程中,一般都是值傳遞但是陣列確實傳遞的指標,這樣主要用於避免過多資料複製占用過多的記憶體空間。我們在設定函式的時候可以使用 int puta const int geta,int s a 來避免原始陣列受到修改,如此的話修改會報錯 input.cpp in function int ...