正確的

為普陀等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及普陀網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、普陀網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
B
例如:
f(int data[]);
f(int *data);
其實(shí)是等價(jià)的,都是一個指針傳遞。上面兩種無論那種都可以傳遞一個數(shù)組名,作為實(shí)參。
實(shí)參傳遞給的數(shù)組名,就是數(shù)組的首地址。
因此通過數(shù)組名,傳遞其實(shí)就是把數(shù)組的首地址給了形參,因此通過地址就可以改變實(shí)參數(shù)組相應(yīng)的值。
C語言中數(shù)組名作為實(shí)參傳給被調(diào)用的函數(shù)時,形參獲得的是數(shù)組的起始地址。
還是用例子說話吧。
#includestdio.h
int *arry(int *a)
{
int *b;
b = a;
int i;
for(i=0;i5;i++)
{
printf("%d",a[i]);
} return b;
}
int main()
{
int a[5] = {1,2,3,4,5};
int *c;
int i;
c = arry(a);
for(i=0;i5;i++)
{
printf("%d",c[i]);
}
}
主要是通過指針把數(shù)組,例如main里面的a的地址傳入arry函數(shù),然后在arry函數(shù)中用一個兼容類型的指針接收地址,然后就可以再這個指針下的地址操作地址上面的數(shù)據(jù)了。
arry返回的時候也是返回一個指針(地址)。
這里的 ?if(max(m,a[i])m) ?規(guī)范寫法后面那個分號應(yīng)該去掉的
這個程序求的是輸入的是個int類型數(shù)字的最大值,m = a[0]是把第一個數(shù)的值賦給變量m,然后拿第二個跟它對比,if(max(m,a[i])m)這句里面的max(m,a[i])是對比m與它的下一個數(shù)的大小,max(m,a[i])m則是把調(diào)用函數(shù)返回的值跟原來的m作比較,如果符合max(m,a[i])m的條件,m = max(m,a[i])就把調(diào)用函數(shù)返回的值賦給m,n = i ? “i”是當(dāng)前最大的那個數(shù)的在數(shù)組中的位置。
只是大于零是不行的,因?yàn)檫@里要求最大的那個數(shù),你輸入的數(shù)字肯定全部大于或等于零的,如果改成if(max(m,a[i])0)是一個接著一個作比較,n = i要執(zhí)行10次,也是可以得到正確答案,但是這會增大系統(tǒng)開銷;如果是if(max(m,a[i])m)這樣,那么最大的數(shù)在第幾位,n = i就執(zhí)行多少次,總的執(zhí)行次數(shù)小于等于10.安效率來算后者較可觀。時間復(fù)雜度較低。
在C語言中,用數(shù)組名作為函數(shù)調(diào)用時的實(shí)參,實(shí)際上傳遞給形參的是首地址。
因?yàn)閿?shù)組名傳遞的是數(shù)組的地址也就是第一個元素的地址。例如:
a[3]這個數(shù)組,3指個數(shù),a[0]指第一個元素,全部元素指a[0]~a[2];那數(shù)組名a規(guī)定的就是首地址。
擴(kuò)展資料
C語言中函數(shù)參數(shù)傳遞的三種方式:
1、傳值,就是把你的變量的值傳遞給函數(shù)的形式參數(shù),實(shí)際就是用變量的值來新生成一個形式參數(shù),因而在函數(shù)里對形參的改變不會影響到函數(shù)外的變量的值。
2、傳地址,就是傳變量的地址賦給函數(shù)里形式參數(shù)的指針,使指針指向真實(shí)的變量的地址,因?yàn)閷χ羔標(biāo)傅刂返膬?nèi)容的改變能反映到函數(shù)外,也就是能改變函數(shù)外的變量的值。
3、傳引用,實(shí)際是通過指針來實(shí)現(xiàn)的,能達(dá)到使用的效果如傳址,可是使用方式如傳值。說幾點(diǎn)建議:如果傳值的話,會生成新的對象,花費(fèi)時間和空間,而在退出函數(shù)的時候,又會銷毀該對象,花費(fèi)時間和空間。
本文題目:c語言數(shù)組作為函數(shù)實(shí)參 函數(shù)使用數(shù)組作為實(shí)參
URL地址:http://chinadenli.net/article2/hipioc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、App設(shè)計(jì)、定制網(wǎng)站、靜態(tài)網(wǎng)站、企業(yè)建站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)