一維數(shù)組的元素作為函數(shù)實(shí)參,與同類(lèi)型的簡(jiǎn)單變量作為實(shí)參一樣,是單向的值傳遞,即數(shù)組元素的值傳給形參,從而形參是改變不影響實(shí)參
成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站十載經(jīng)驗(yàn)成就非凡,專(zhuān)業(yè)從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司,成都網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)頁(yè)制作,軟文平臺(tái),廣告投放平臺(tái)等。十載來(lái)已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:028-86922220,我們期待您的來(lái)電!
數(shù)組名代表著整個(gè)數(shù)組的地址,如果一維數(shù)組的名字作為函數(shù)實(shí)參,傳遞的是整個(gè)數(shù)組,即形參數(shù)組和實(shí)參數(shù)組完全相同,是存放在同一存儲(chǔ)空間的同一個(gè)數(shù)組。這樣形參數(shù)組
修改時(shí),實(shí)參數(shù)組也同時(shí)被修改了。形參數(shù)組的元素個(gè)數(shù)可以省略。
#includestdio.h
//數(shù)組作為函數(shù)參數(shù),可以省略元素個(gè)數(shù)
//數(shù)組作為函數(shù)參數(shù),傳遞是整個(gè)數(shù)組的地址,修改了函數(shù)形參數(shù)組元素的值,會(huì)影響到外面的實(shí)參數(shù)組
void change(int array[])
{
printf("array ==%p\n",array);
array[0] = 100;
}
int main()
{
int ages[6] = {10,11,13,15,11,18};
printf("array ==%p\n",ages);
change(ages);
printf("%d\n",ages[0]);
return 0;
}
輸出結(jié)果為: array ==0x7fff5be26c00
array ==0x7fff5be26c00
100
1.函數(shù)指針的數(shù)組定義方法:返回值類(lèi)型( * 指針變量名[Number]) (形參列表)。
例如:
double add(double a,double b){};
double sub(double a,double b){};
double mul(double a,double b){};
double div1(double a,double b){};
double (*oper_func[])(double, double) = {add,sub,mul,div1};//函數(shù)指針的數(shù)組定義
2.函數(shù)指針是指向函數(shù)的指針變量。函數(shù)指針有兩個(gè)用途:調(diào)用函數(shù)和做函數(shù)的參數(shù)。
函數(shù)指針的聲明方法為:
返回值類(lèi)型( * 指針變量名) (形參列表);
“返回值類(lèi)型”說(shuō)明函數(shù)的返回類(lèi)型,“( * 指針變量名)”中的括號(hào)不能省,括號(hào)改變了運(yùn)算符的優(yōu)先級(jí)。若省略整體則成為一個(gè)函數(shù)說(shuō)明,說(shuō)明了一個(gè)返回的數(shù)據(jù)類(lèi)型是指針的函數(shù),后面的“形參列表”表示指針變量指向的函數(shù)所帶的參數(shù)列表。
例子:
#includestdio.h
int?max(int?x,int?y){return?(xy??x:y);}
int?main(){
int?(*ptr)(int,?int);
int?a,?b,?c;
ptr?=?max;
scanf("%d%d",?a,?b);
c?=?(*ptr)(a,b);
printf("a=%d,?b=%d,?max=%d",?a,?b,?c);
return?0;
}
給你看一下我的代碼
#includestdio.h
void main(){
int a[10],b[10],i,j,temp;
for(i=0;i10;i++){
printf("請(qǐng)輸入第%d個(gè)數(shù):",(i+1));
scanf("%d",a[i]);
//保存數(shù)組,因?yàn)檩斎胪陻?shù)組要冒泡排序,排序后的元素順序可能和原數(shù)組不一樣
b[i]=a[i];
}
//冒泡排序,求最大值
for(i=0;i9;i++){
for(j=0;j9-i;j++){
if(a[j]a[j+1]){ //這里控制的升序還是降序,我這是降序
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
//查找最大值在原數(shù)組的位置
for(i=0;i10;i++){
if(b[i]==a[0]){ //降序的話最大值是a[0],升序的話最大值是a[9]
break; //一旦找到最大值,馬上跳出循環(huán)
}
}
printf("最大值是%d,它在原數(shù)組中是第%d個(gè)元素!\n",a[0],(i+1));
}
在c語(yǔ)言中數(shù)組在函數(shù)中傳遞是通過(guò)指針來(lái)進(jìn)行的。比如
void print_str(const char *str)
{
printf("%s", str);
}
int main()
{
print_str("hello world\n");
return 0;
}
網(wǎng)頁(yè)名稱(chēng):c語(yǔ)言數(shù)組存函數(shù) c語(yǔ)言存字符串?dāng)?shù)組
分享URL:http://jinyejixie.com/article2/docpcoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站內(nèi)鏈、移動(dòng)網(wǎng)站建設(shè)、虛擬主機(jī)、云服務(wù)器、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)