Re: [問題] 函式傳遞的問題

看板C_and_CPP作者 (software everywhere)時間15年前 (2009/05/23 00:34), 編輯推噓1(101)
留言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
文章代碼(AID): #1A5jGi83 (C_and_CPP)
文章代碼(AID): #1A5jGi83 (C_and_CPP)