看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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
hateexam:謝謝 很明瞭了 非常感謝 05/23 23:29
hateexam:^^ 05/23 23:29