陣列作為引數中的陣列元素引數

2021-09-28 21:35:25 字數 840 閱讀 2986

###陣列作為函式引數

呼叫有參函式時,需要提供實參(可以是常量、變數或者表示式。陣列元素的作用與變數相當,所以一般來說,凡是變數可以出現的地方,都可以用陣列元素代替。

此外,陣列名也可以作實參和形參,傳遞的是陣列第乙個元素的位址。

###陣列元素作函式實參

陣列元素可以用作函式實參,但是不能用作形參。因為形參是在函式被呼叫時臨時分配儲存單元的,不可能為乙個陣列元素單獨分配儲存單元(陣列是乙個整體,在記憶體中佔連續的一段儲存單元)。

在用陣列元素作函式實參時,把實參的值傳給形參,是**「值傳遞」方式。資料傳遞方向是從實參傳到形參,單向傳遞**。

####例題

輸入10個數,要求輸出其中值最大的元素和該數是第幾個數。

程式編寫

#include

intmain()

}printf

("the largest number is %d\nit is the %dth number.\n"

,m,n+1)

;return0;

}int

max(

int x,

int y)

//定義max函式

思路解析

1.定義乙個陣列a,長度為10,用來存放10個數。

2.設計乙個函式max,用來求兩個數中最大者。

3.在主函式中定義乙個變數m,m的初值為a[0],每次呼叫max函式後返回值存放在m中。

4.依次將陣列元素a[1]~a[9]與m比較,最後得到的m值就是10個數中最大的。

陣列作為函式引數

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

陣列作為函式引數

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

陣列作為函式引數

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