新聞中心
本篇內(nèi)容介紹了“C語言函數(shù)返回值與參數(shù)傳遞的形式是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出寧陵免費(fèi)做網(wǎng)站回饋大家。
一:參數(shù)傳遞
C語言的函數(shù)中必不可少的就是參數(shù)傳遞,可以采用傳值和傳指針兩種方式。
1.傳值的形式:只是將參數(shù)值的拷貝傳給函數(shù),并非參數(shù)本體如:
int test(int x,int y) { x=2*y; return x; } int main(void) { int a=0,b=5; printf("%d,%d ",test(a,b),a); return 0; }
運(yùn)行結(jié)果為:
10,0
即傳值方式只可以將實(shí)參傳遞給函數(shù),不可以改變實(shí)參本身。
2.傳指針形式:直接傳給函數(shù)的是變量的地址。
如:
int a(int b,int *c) { int i=0; for(i=0;i<4;i++) c[i]=b*i; return 0; } int main(void) { int b=2,c[4],i; a(b,c); for(i=0;i<4;i++) printf("Data is -> %d ",c[i]); return 0; }
運(yùn)行結(jié)果為:
Data is -> 0
Data is -> 2
Data is -> 4
Data is -> 6
由于被調(diào)函數(shù)在參數(shù)指針的作用域之內(nèi),此時可以直接改變變量的本體。
二:返回值
函數(shù)除了參數(shù)傳遞還有返回值,既可以返回變量值也可以返回地址。
1.返回變量
如:
int a(int b) { int i=5; return 5*b; } int main(void) { int b=2; printf("Data is -> %d ",a(b)); return 0; }
運(yùn)行結(jié)果
Data is -> 10
2.返回地址
int *test(int b) { int i=0,buf[4]; for(i=0;i<4;i++) buf[i]=b*i; return buf; } int main(void) { int b=2; int *p; int i=0; p=test(b); for(i=0;i<4;i++) printf("%d ,%d ",p[i],test(b)); return 0; }
運(yùn)行結(jié)果
0 ,1084896256
2 ,1084896256
4 ,1084896256
6 ,1084896256
另外不能返回局部變量地址。
int *buf() { int dad; double buf[3][2]; dad=sizeof(buf); return &dad;//error:由于dad是局部變量,函數(shù)結(jié)束后釋放。 }
“C語言函數(shù)返回值與參數(shù)傳遞的形式是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
文章名稱:C語言函數(shù)返回值與參數(shù)傳遞的形式是什么
標(biāo)題網(wǎng)址:http://fisionsoft.com.cn/article/gsgioh.html