十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
方法
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的龍勝網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
有2
將該數(shù)組定義為全局變量,即:
int
g_arr;
void
fun()
{...}
void
main()
{...}
2.將該數(shù)組作為函數(shù)參數(shù)傳遞到自定義函數(shù)里,即:
void
fun(int
arr[])
{...}
void
main()
{
int
arr[10];
fun(arr);
}
c語言可以用數(shù)組元素的方法或指針的方法調(diào)用數(shù)組。
int a[100],i;
for(i=0;i100;i++)
scanf("%d",a[i]);
for(i=0;i100;i++)
printf("%d ",a[i]);
也可以:
int a[100],*p;
for(p=a;pa+100;p++)
scanf("%d",p);
for(p=a;pa+100;p++)
printf("%d ",*p);
來傳送子函數(shù)中的數(shù)組有多種方法——可以通過函數(shù)返回值返回地址傳遞數(shù)組;也可以通過函數(shù)輸入?yún)?shù)來傳遞數(shù)組;還可以通過全局變量來傳遞數(shù)組。
子函數(shù)本身可以直接在作用域中進(jìn)行調(diào)用。
1、通過函數(shù)返回值返回地址傳遞數(shù)組。
聲明函數(shù)時(shí)需要聲明函數(shù)返回值類型為對應(yīng)數(shù)組的地址,此時(shí)可以返回?cái)?shù)組的地址,結(jié)合數(shù)組元素的地址關(guān)系可以傳遞整個(gè)數(shù)組,同時(shí)可以根據(jù)數(shù)組的特性傳遞多個(gè)參數(shù)。
2、通過輸入?yún)?shù)傳遞數(shù)組。
聲明函數(shù)時(shí)提供空輸入?yún)?shù),調(diào)用函數(shù)時(shí)提供目標(biāo)數(shù)組,即可以通過該數(shù)組調(diào)用子函數(shù)中的數(shù)組,該方法也可以用于傳遞多個(gè)參數(shù)。
3、通過全局變量來傳遞數(shù)組。
聲明全局變量用于存儲(chǔ)子函數(shù)中的數(shù)組,此時(shí)可以在全局變量作用域中讀取調(diào)用子函數(shù)的數(shù)組。
注意:子函數(shù)是C語言模塊化編程思想的核心,其方法是通過輸入接口和輸出接口實(shí)現(xiàn)對黑盒的調(diào)用,故對其內(nèi)部數(shù)據(jù)的輸入和調(diào)用也需要通過輸入接口、輸出接口和程序的公共區(qū)域?qū)崿F(xiàn)。
調(diào)用時(shí):
sum=fun1(a[N]);
printf("sum=%d\n",sum);
定義中:
int fun1(int a[N],int i)
{
int s=0;
for(i=0;iN;i++)
s=s+a[i];
return(s);
}
注意定義的函數(shù)int fun1(int a[N],int i),在調(diào)用函數(shù)的時(shí)候語法是sum=fun1(int a[N],int i);錯(cuò)誤在于調(diào)用函數(shù)時(shí)()內(nèi)的參數(shù)應(yīng)該和定義時(shí)一樣