【C++】如何使用函式進行陣列求和?傳遞陣列指標的簡單示例程式碼
阿新 • • 發佈:2019-01-05
cookies[Arsize]
如果是輸出輸出地址的長度,比如sizeof cookies,這時輸出的是整個陣列長度
假如傳遞給了指標arr, sizeof arr 就輸出的是指標的長度
可能理解比較抽象,我們採用實際程式碼舉例:
程式碼中有詳細註釋
//通用的統計陣列的和的函式 #include<iostream> const int ArSize = 8; using namespace std; int sum_arr(int arr[], int n); void print(); int main() { int cookies[ArSize] = { 1, 2, 4, 8, 16, 32, 64, 128 }; cout << cookies << " \t 陣列地址" << endl; cout << sizeof cookies << " \t sizeof cookies\n"; int sum = sum_arr(cookies, ArSize); cout << sum << "一共加起來就是這麼多" << endl; print(); //欺騙做法 cout << "這裡展示的是傳遞陣列時的特性" << endl; cout << "前三個的和是:" << sum_arr(cookies, 3)<<endl<<endl; cout << "結果OK" << endl; print(); cout << "這裡展示的是傳遞陣列時的特性" << endl; cout << "後四個的和是:" << sum_arr(cookies + 4, 4) << endl << endl; cout << "結果OK" << endl; cin.get(); return 0; } int sum_arr(int arr[],int n) { int total = 0; cout << arr << "\t arr地址" << endl; cout << sizeof arr << "\t sizeof arr\n"; for (int i = 0; i < n; i++) total = total + arr[i]; return total; } void print() { cout << endl; cout << "=======================================" << endl; cout << endl; }
輸出結果: