這篇文章運用簡單易懂的例子給大家介紹函數(shù)傳參有哪些方式,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)建站主營廣平網站建設的網絡公司,主營網站建設方案,成都App定制開發(fā),廣平h5小程序制作搭建,廣平網站營銷推廣歡迎廣平等地區(qū)企業(yè)咨詢
1、按值傳遞,傳遞時形參和實參各占一個獨立空間。
2、地址傳遞,是把實參的儲存地址傳送給形參。
3、引用傳遞,是以引用為實參的別名,和實參是同一個變量。
示例代碼
按值傳遞
#includevoid swap1(int x, int y)//定義中的x,y變量是swap函數(shù)的兩個形參 { int tmp; tmp = x; x = y; y = tmp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 2; int b = 3; swap1(a, b);//a,b變量為swap函數(shù)的實際參數(shù) printf("a=%d,b=%d", a, b); return 0; }
地址傳遞
void swap2(int *px, int *py) { int tmp; tmp = *px; *px = *py; *py = tmp; printf("px=%d,py=%d\n", *px, *py); } int main() { int a = 2; int b = 3; swap2(&a, &b);/*調用了swap函數(shù),同樣也有隱含動作px=&a;py=&b;*/ printf("a=%d,b=%d", a, b); return 0; }
引用傳遞
#includevoid swap3(int &x,int &y) { int tmp = x; x = y; y = tmp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 2; int b = 3; swap3(a, b);//調用方式與傳值一樣 printf("a=%d,b=%d", a, b); system("pause"); return 0; }
關于函數(shù)傳參有哪些方式就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。