C 中陣列作為函式引數的使用說明

2021-10-03 10:30:43 字數 1347 閱讀 5655

我們一般使用函式時,函式引數大多數都是int,couble,char之類的型別,我們接下來可以看看當函式裡需要用到陣列時,c++是如何實現的。下面給出的例子是c++primer的例子,在此這裡簡化了下。

#include const int arsize = 8; //陣列個數

int sum_arr(int arr, int n); // 申明函式屬性

int main()

; //初始化陣列

int sum = sum_arr(cookies, arsize); //函式呼叫

cout << "total cookies eaten: " << sum << "\n";

system("pause");

return 0;

}//求和函式

int sum_arr(int arr, int n)

這個程式很簡單,就是乙個陣列求和函式,需要我們注意的函式引數傳遞,int sum_arr(int arr, int n),這裡我們可以思考一下,為什麼我們還需要乙個int來表示陣列裡面的元素個數。一般我們可以利用sizeof函式來直接求出陣列元素的個數,這裡可以嗎?不妨一試。

#include const int arsize = 8; //陣列個數

int sum_arr(int arr, int n); // 申明函式屬性

int main()

; //初始化陣列

除了以上這種方式外,我們還可以利用首位址和尾位址來進行陣列的訪問。

#include const int arsize = 8; //陣列個數

int sum_arr(const int *, const int *); // 申明函式屬性

int main()

; //初始化陣列

cout<

這裡還需要強調一點,當乙個陣列我們宣告為const型別,那麼這個陣列名傳入的函式引數也需要用const修飾,給個例子看一下就理解了。

const int mounth[12] = ;

int arr_add(int arg,int n); //valid 這個函式如果要用到mounth,是不可行的

所以這裡建議,在函式引數還是盡量用const關鍵字來修飾一下,一來可以保護資料,二來這個函式既可以訪問cosnt資料也可以訪問非const資料,但是需要函式修改資料時,就不需要使用const了。

詳談C 中陣列作為函式引數

執行以下 請問輸出是什麼?例子 於 劍指offer 我對書上例子做了修改,讓其可以執行。include using namespace std int getsize int data int main int size1 sizeof data1 int data2 data1 int size2...

C語言陣列作為函式引數

一 陣列元素作為函式的實參 陣列元素就是變數,與普通變數沒有區別,將陣列元素傳送給形參,實現單向的值傳遞。include float max float x,float y int main int m a 0 for int i 1 i 6 i printf 陣列中的最大元素是 d m 二 陣列名...

C 中vector使用說明

1.在c 中的詳細說明 vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。2.使用vect...