Re: [問題] 函式傳遞的問題
看板C_and_CPP作者softwind (software everywhere)時間15年前 (2009/05/23 00:34)推噓1(1推 0噓 1→)留言2則, 1人參與討論串3/3 (看更多)
※ 引述《hateexam ()》之銘言:
: 為什麼這個問題-->見連結例子與其最佳答案
: http://zhidao.baidu.com/question/98153744.html
: 必須用call by address才能正確傳遞函式間的結果
: 而以下寫法不用call by address也能正確回傳a[n]的結果呢
[恕刪] ^^^^^^^^^^^^^^^
你所講的 就是你正在做的事阿
void F1(int a[]);
//上面的宣告 "等同於" void F1(int *a);
int main() {
int a[5];
// ...
F1(a); //把 a[0]的 address 傳入
//...
}
void F1(int a[]){ //當然 你在這邊就會收到 a[0] 的address了
// ...
}
對C而言 array的定義
1. "連續"的記憶體空間
2. 相同的資料型態
so 你拿到第一個address 就能繼續往下拿 其餘的element
就這樣而已 不要想太多...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.115.191
推
05/23 23:29, , 1F
05/23 23:29, 1F
→
05/23 23:29, , 2F
05/23 23:29, 2F
討論串 (同標題文章)