這篇文章主要介紹了c語言函數調用的方法有哪些,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
10年積累的成都網站建設、網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站后付款的網站建設流程,更有開化免費網站建設讓你可以放心的選擇與我們合作。
1、傳值調用
傳值調用,就是把一個變量的值傳遞給函數的形式參數,實際就是用變量的值來新生成一個形式參數,形參運算后在把值返回。
函數中改變的值是不能影響到外界的,因而在函數里對形參的改變不會影響到函數外的變量的值。
下面通過代碼示例來理解一下:
#include<stdio.h>
void myswap(int x, int y)
{
int t;
t=x;
x=y;
y=t;
}
int main()
{
int a, b;
printf("請輸入待交換的兩個整數:");
scanf("%d %d", &a, &b);
myswap(a,b); //作為對比,直接交換兩個整數,顯然不行
printf("調用交換函數后的結果是:%d 和 %d\n", a, b);
return 0;
}運行:

解析:
沒有交互成功原因是:使用傳值調用,只在形參上改變了數值,沒有在實參上改變數值。
2、傳地址調用
傳地址調用,就是將變量的地址直接傳入函數,它把一個變量的地址賦給函數里形式參數的指針,使指針指向真實的變量的地址,因為對指針所指地址的內容的改變能反映到函數外,也就是能改變函數外的變量的值。
下面通過代碼示例來理解一下:
#include<stdio.h>
void myswap(int *p1, int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
int main()
{
int a, b;
printf("請輸入待交換的兩個整數:");
scanf("%d %d", &a, &b);
myswap(&a,&b); //交換兩個整數的地址
printf("調用交換函數后的結果是:%d 和 %d\n", a, b);
return 0;
}運行:

解析:
交互成功的原因是:使用傳地址調用,利用指針改變了原來的地址,所以實參就交換了。
3、引用調用
引用調用實際是通過指針來實現的,把變量的引用傳入函數;能達到使用地址調用的效果,可是使用方式如傳值調用,函數可以對其值進行修改。
下面通過代碼示例來理解一下:
#include<stdio.h>
void myswap(int &x, int &y)
{
int t;
t=x;
x=y;
y=t;
}
int main()
{
int a, b;
printf("請輸入待交換的兩個整數:");
scanf("%d %d", &a, &b);
myswap(a,b); //注意:這里調用方式與傳值調用一樣,直接以變量a和b作為實參交換
printf("調用交換函數后的結果是:%d 和 %d\n", a, b);
return 0;
}運行:

解析:
交互成功的原因是:使用引用調用,引用是直接改變兩個實參變量a,b的值,所以就交換了。
感謝你能夠認真閱讀完這篇文章,希望小編分享c語言函數調用的方法有哪些內容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細的解決方法等著你來學習!
網頁題目:c語言函數調用的方法有哪些
標題路徑:http://chinadenli.net/article32/gdjcsc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網站制作、Google、微信小程序、建站公司、網站策劃、定制網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)