第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

函數(shù)傳入的是指針,為什么不是數(shù)組?使用函數(shù)的時(shí)候?yàn)槭裁从质菙?shù)組名,不是指針?

為什么函數(shù)getMaxOrMin在傳參時(shí),定義的是指針,而不是數(shù)組?

同時(shí)在使用該函數(shù)的時(shí)候?yàn)槭裁床皇侵羔?arr1?

正在回答

3 回答

補(bǔ)充樓上所說。

問題一:函數(shù)傳入的是指針,為什么不是數(shù)組?

傳參,可以傳數(shù)組,傳指針可以使代碼更簡(jiǎn)潔。(傳指針只需要傳4個(gè)字節(jié),傳數(shù)組需要傳sizeof(arr)個(gè)字節(jié),在本程序中,傳數(shù)據(jù)的話需要傳4*sizeof(int)=16個(gè)字節(jié))

首先,main 函數(shù)中的 int arr1[4]; 定義了一個(gè)有4個(gè)int型元素的數(shù)組,這個(gè)數(shù)組名為arr1。也可以理解為 “arr1”指向了存儲(chǔ)了4個(gè)int型元素的空間。此時(shí),arr1是這段空間的首地址。

接著我們定義了一個(gè)getMaxOrMin(int* arr,...),這里的int *arr,表示它接受的參數(shù)是一個(gè)int 型的指針,也可以理解為,這個(gè)函數(shù)的第一個(gè)參數(shù),需要傳入 一個(gè) 指向一段int型元素空間的 地址。

在main函數(shù),去調(diào)用getMaxOrMin(int *arr,...)

我們希望將arr1[4]的所有元素做個(gè)比較,得到最大值,因此我們需要傳入一個(gè),可以指向整個(gè)數(shù)據(jù)的首地址。

這個(gè)可傳入的首地址不唯一,arr1 ,&arr1[0]都可以。

問題二:使用函數(shù)的時(shí)候?yàn)槭裁从质菙?shù)組名,不是指針?

在函數(shù)中使用*arr1完全沒有問題,這是*arr1代表的是arr1[0]的數(shù)據(jù),如果要比較其它元素。則需要使用

*arr1,*(arr1+1),*(arr1+2),*(arr1+3),對(duì)應(yīng)關(guān)系如下:

*arr1?= arr[0]

*(arr1+1) = arr[1]

*(arr1+2) = arr[2]

*(arr1+3)? = arr[3]

對(duì)比一下,是不是直接使用arr[0]、arr[1]、arr[2]、arr[3]更簡(jiǎn)潔一些呢?







3 回復(fù) 有任何疑惑可以回復(fù)我~

額, 有錯(cuò)別字,不能修改,

第一段原話是“傳數(shù)據(jù)的話需要傳4*sizeof(int)=16個(gè)字節(jié)”,應(yīng)該是“傳數(shù)組的話需要傳4*sizeof(int)=16個(gè)字節(jié)”。

第五段原話是“可以指向整個(gè)數(shù)據(jù)的首地址”,應(yīng)該是“可以指向整個(gè)數(shù)組的首地址”

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_回鍋肉_2

抱歉,傳數(shù)組的話需要傳4*sizeof(int)=16個(gè)字節(jié)。這句話是錯(cuò)誤的。解釋如下: 數(shù)組在當(dāng)做參數(shù)傳遞時(shí),會(huì)退化為指針。 因此不管你定義的getMaxorMin(int *arr,...),還是getMaxorMin(int arr[4],...)。在此函數(shù)中的arr的大小都是4,也就是一個(gè)指針的大小?;氐皆瓎栴},兩種寫法都沒有問題,只是推薦第一種寫法,依然簡(jiǎn)潔。
2020-03-28 回復(fù) 有任何疑惑可以回復(fù)我~

這里的*arr1相當(dāng)于是傳arr1的首地址,定義函數(shù)要引用數(shù)組一個(gè)是*arr1,還有就是arr1[].兩種。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

weixin_慕沐4018656 提問者

不太懂你的意思耶
2020-03-24 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
C++遠(yuǎn)征之起航篇
  • 參與學(xué)習(xí)       290964    人
  • 解答問題       817    個(gè)

C++亮點(diǎn)盡在其中,本課程是在C語言基礎(chǔ)上的一個(gè)延伸,得以升華

進(jìn)入課程

函數(shù)傳入的是指針,為什么不是數(shù)組?使用函數(shù)的時(shí)候?yàn)槭裁从质菙?shù)組名,不是指針?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)