C 陣列作為形參傳遞給函式

2021-08-17 02:03:31 字數 624 閱讀 4919

以下三種形式等價

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 ...