数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量
生活随笔
收集整理的這篇文章主要介紹了
数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、數組傳參中形參的秘密
第三行:形參中不存在數組的概念,即便是中括號約定了數組的大小,也無效。
第二十行:傳遞的是一個地址,是數組的首地址。
數組名代表了整個數組的首地址。
第二十一行:第一個元素的地址也是數組的首地址。
?(補充):指針占了八個字節。在操作系統中用八個字節,表示一個地址。
2、數組名當作函數實際參數(關于地址的)
首先是普通變量當函數實際參數
?
?(數值傳遞,操作的是不同的內存空間)
數組名當作函數實際參數呢?
(操作的是相同的地址空間,數組名當作實參,到底傳了什么?(地址))?
也可以這么寫??
結果一樣的
3、計算不同班級學生的平均分
//第26行:總分這個變量一定要手動初始化為0,默認值可能是一個大數影響結果
4、二維數組
合法寫法:????????? ? ? int arr[2][3]
?合法寫法 : ? ? ?????????int arr[][3]
不合法寫法 :? ? ???????????? int arr[][]
? 不合法寫法 : ? ? ? ? ? ? ?int? ? arr[2][]
特殊的一維數組,每個元素又是一個數組,大小確定
?
注意傳參的時候的形式是否合法
結果如下
5、外部變量和全局變量
全局變量:寫在所有函數之前的外部變量
優點及缺點:程序員編程便捷,但有隱藏風險,所有函數都可以操作這個變量
(在10行和11行之前程序對p,q不可見)
?
6、全局變量的實戰
(當我們沒有辦法在一個函數調用中,返回多項需要的數據的時候,(想要返回多項結果),被迫使用全局變量)
//函數調用的目的:調用者通過調用函數獲得某些結果。
//函數強調的是功能性的封裝,供調用者使用來改變調用者當中的一些數據
作業:1、要求輸入十個數,找出最大數和最大數的下標
?
?
結果如下
?
2、封裝冒泡排序法的函數
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? 結果如下
?
(引用的圖像)
?
(第一個和第二個比,第二個和第三個比。。。)?
?
3、封裝選擇排序法的函數
?(第一個和第二個比,第一個和第三個比。。。。)
結果如下
?
總結
以上是生活随笔為你收集整理的数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0x000000f4蓝屏怎么办 遇到0x
- 下一篇: 指针,指针:分装一个函数,实现两个数的交