在C++中,若是要給一個函數傳入一個數組,通常都是傳入兩個參數一個數組指針和一個數組大小。ios
單獨傳遞一個數組或者指針進去,會致使數組不完整。數組
作個試驗:函數
#include <iostream> using namespace std; int getAverage(int arr[]); int getAverage(int arr[]) { int i; int len = (sizeof(arr) / sizeof(int)); int sum = 0; int *p = arr; for (i = 0; i < len; i++) { sum += *p; p++; } return sum / len; } int main() { int arr[] = {1, 2, 3, 3, 4, 5}; printf("數組的平均值是: %d \n", getAverage(arr)); return 0; }
輸出:spa
數組的平均值是: 1 請按任意鍵繼續. . .
#include <iostream> using namespace std; int getAverage(int arr[]); int getAverage(int arr[], int len) { int i; int sum = 0; int *p = arr; for (i = 0; i < len; i++) { sum += *p; p++; } return sum / len; } int main() { int arr[] = {1, 2, 3, 3, 4, 5}; int len = (sizeof(arr) / sizeof(int)); printf("數組的平均值是: %f \n", getAverage(arr, len)); return 0; }
輸出:指針
數組的平均值是: 3 請按任意鍵繼續. . .