用陣列作為函式引數

2022-08-30 03:30:16 字數 810 閱讀 3191

我們都知道,可以用變數作為函式的引數,

而陣列中的每乙個元素也是變數,因此我們也可以用陣列元素來作為函式引數

另外,用陣列名也可以作為實參和形參,傳遞的是陣列的首位址

一、用陣列元素作為函式實參

這與用變數作為實參一樣,是單向傳遞,取「值傳遞」的方式。

二、用陣列名作為函式引數

此時,實參和形參都要用陣列名(或用指標)

注意:

1、形參陣列名和實參陣列名應該在自己所在的函式內部定義,不能只在一方定義;

2、實參陣列和形引數組的型別應當一致;

3、不是「值傳遞」,不是「單向傳遞」,而是「位址傳遞」,兩個陣列共佔一段記憶體單元:形引數組中各元素的值發生變化,會使實參陣列中的元素的值通知變化。

a[0]

a[1]

a[2]

a[3]

a[4]

a[5]24

681012

b[1]

b[2]

b[3]

b[4]

b[5]

b[6]

三、用多維陣列作為函式引數

可以用多維陣列作為函式的實參和形參,對於在被調函式中對形引數組的定義,可以指定每一維的大小,也可以省略第一維的大小,但是不能把第二維解其他維的大小省略。

陣列作為函式引數

一 一維陣列名作函式引數 用陣列名作函式引數,應該在主調函式和被調函式分別定義陣列,例如 void main 在被呼叫函式中宣告了形引數組的大小為10,但在實際中,指定其大小是不起任何作用的,因為c語言編譯對形引數組大小不做檢查,只將實參陣列的首元素位址傳給形引數組。形引數組可以不指定大小,在定義陣...

陣列作為函式引數

陣列元素的作用與變數相當,一般來說,凡是變數可以出現的地方,都可以用陣列元素代替。陣列名也可以做實參和形參,傳遞的是陣列第乙個元素的位址。陣列元素可以用作函式實參,但是不能用作形參,因為形參是在函式被呼叫時臨時分配儲存單元的,不可能為乙個陣列元素單獨分配儲存單元 陣列是乙個整體,在記憶體中佔連續的一...

陣列作為函式引數

做題遇到乙個陣列傳參,發現了一些小問題。1.對於陣列長度來說,用sizeof 陣列名 求出來的並不是陣列的大小,確切的說,不是我要的大小,他是求出了陣列所佔空間的大小。int a 5 int n sizeof a 這樣算出來的n不是想象中的陣列長度5,我得出的結果是20,因為乙個元素佔4個位元組,5...