1. 程式人生 > >C++給函數傳數組參數

C++給函數傳數組參數

get 繼續 數組指針 數組大小 一個 nbsp eof namespace stream

在C++中,如果要給一個函數傳入一個數組,一般都是傳入兩個參數一個數組指針和一個數組大小。

單獨傳遞一個數組或者指針進去,會導致數組不完整。

做個試驗:

#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; }

輸出:

數組的平均值是: 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
請按任意鍵繼續. . .

C++給函數傳數組參數