数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量
1、數(shù)組傳參中形參的秘密
第三行:形參中不存在數(shù)組的概念,即便是中括號(hào)約定了數(shù)組的大小,也無效。
第二十行:傳遞的是一個(gè)地址,是數(shù)組的首地址。
數(shù)組名代表了整個(gè)數(shù)組的首地址。
第二十一行:第一個(gè)元素的地址也是數(shù)組的首地址。
?(補(bǔ)充):指針占了八個(gè)字節(jié)。在操作系統(tǒng)中用八個(gè)字節(jié),表示一個(gè)地址。
2、數(shù)組名當(dāng)作函數(shù)實(shí)際參數(shù)(關(guān)于地址的)
首先是普通變量當(dāng)函數(shù)實(shí)際參數(shù)
?
?(數(shù)值傳遞,操作的是不同的內(nèi)存空間)
數(shù)組名當(dāng)作函數(shù)實(shí)際參數(shù)呢?
(操作的是相同的地址空間,數(shù)組名當(dāng)作實(shí)參,到底傳了什么?(地址))?
也可以這么寫??
結(jié)果一樣的
3、計(jì)算不同班級(jí)學(xué)生的平均分
//第26行:總分這個(gè)變量一定要手動(dòng)初始化為0,默認(rèn)值可能是一個(gè)大數(shù)影響結(jié)果
4、二維數(shù)組
合法寫法:????????? ? ? int arr[2][3]
?合法寫法 : ? ? ?????????int arr[][3]
不合法寫法 :? ? ???????????? int arr[][]
? 不合法寫法 : ? ? ? ? ? ? ?int? ? arr[2][]
特殊的一維數(shù)組,每個(gè)元素又是一個(gè)數(shù)組,大小確定
?
注意傳參的時(shí)候的形式是否合法
結(jié)果如下
5、外部變量和全局變量
全局變量:寫在所有函數(shù)之前的外部變量
優(yōu)點(diǎn)及缺點(diǎn):程序員編程便捷,但有隱藏風(fēng)險(xiǎn),所有函數(shù)都可以操作這個(gè)變量
(在10行和11行之前程序?qū),q不可見)
?
6、全局變量的實(shí)戰(zhàn)
(當(dāng)我們沒有辦法在一個(gè)函數(shù)調(diào)用中,返回多項(xiàng)需要的數(shù)據(jù)的時(shí)候,(想要返回多項(xiàng)結(jié)果),被迫使用全局變量)
//函數(shù)調(diào)用的目的:調(diào)用者通過調(diào)用函數(shù)獲得某些結(jié)果。
//函數(shù)強(qiáng)調(diào)的是功能性的封裝,供調(diào)用者使用來改變調(diào)用者當(dāng)中的一些數(shù)據(jù)
作業(yè):1、要求輸入十個(gè)數(shù),找出最大數(shù)和最大數(shù)的下標(biāo)
?
?
結(jié)果如下
?
2、封裝冒泡排序法的函數(shù)
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? 結(jié)果如下
?
(引用的圖像)
?
(第一個(gè)和第二個(gè)比,第二個(gè)和第三個(gè)比。。。)?
?
3、封裝選擇排序法的函數(shù)
?(第一個(gè)和第二個(gè)比,第一個(gè)和第三個(gè)比。。。。)
結(jié)果如下
?
總結(jié)
以上是生活随笔為你收集整理的数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0x000000f4蓝屏怎么办 遇到0x
- 下一篇: 怎么查看bios 查看电脑的BIOS方法