1樓:衝向未來
值傳遞 和 位址傳遞。
2樓:手機使用者
1,被調函式的形參*a,*b為區域性指標變數,函式體的功能是交換兩個指標的的值,形象的說就是以前a指向i,b指向j,交換後就是a指向j,b指向i;所以不改變主調函式的值;
#include
void swap (int *a ,int *b)2,形參*a,*b同樣為區域性指標變數,但函式體的功能是交換a,b所指向變數i,j的值;
void swap (int *a ,int *b)
c語言中函式形參與實參的區別與聯絡
3樓:岔路程式緣
形參與實參在本質上是兩個不同的東西。
比如函式f(x)=y=x²+2x,x就是函式的引數,我們用c語言把派爛孫它寫出來就是:
float f(float x)
float y;
y=x*x+2*x;
return y;
你看看與f(x)=y=x²+2x何其相似!
當我們要計算f(2)的函式值時,就讓x=2,得到y=8,即f(2)=8。
在c語言這裡,我們就把x叫「形參」,把2叫「實參」,可以看出它們是多麼不同了吧!
如果有乙個變歷悔量a=1,也可以計算f(a)=2,其實在計算時,把a的值賦給了是實參,x仍然是形參。計算前後a的值並沒有變化。
如程式中呼叫:c=f(a)+f(2),結果得到c=10。
值得注意的是,往往實參與形參使用同乙個字母,比如都用x,但是這兩個x是不同的變數,實參x把值賦給形參x後,就沒有實參的什麼事了,在函式中形參x值的變化也不會塵鏈影響實參x的值。
說起它們的相同之處,就是它們的變數型別是一樣的;說起它們的聯絡,就是有一次實參對形參的賦值;說起它們的區別,則是兩個不同的變數。
c語言;函式的引數為 char *型別時,形參與實參結合的傳遞方式為
4樓:匿名使用者
void fun(char* p);
int a[6];
fun(a);
將陣列的首位址a傳給形參p
是這個意思嗎?
5樓:藝瘋藝狂
//自定義函式中形參的宣告。
char fun (char a,char b)//形參是這樣宣告//main函式中實參的傳遞。
main(void)
6樓:匿名使用者
就是字串指標。看來你對c語言的「函式"不完全理解才會這麼問!函式就好比乙個做冰棒的杯子(或模具),而水或牛奶以及其他用來做冰棒的原料好比函式的實參,冰棒做好了也就是函式返回了,實參與函式脫離關係,就好比我們冰棒做好了,從杯子裡取出冰棒。
而杯子還在那裡,但也許你用其他原料繼續做冰棒,於是又用杯子了,這就好比你換乙個實參又一次呼叫同乙個函式。
形參和實參的區別是什麼,c語言中形參和實參是什麼意思?有什麼區別?
實參是用來填充形參的。當函式被呼叫時,形參列在函式名後面的括號裡。執行函式呼叫時,實參被傳遞給形參。1 形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。2 實參可以是常量 變數 表示式 ...
在C語言中,函式的形參與實參之間的值傳遞是什麼意思 函式呼叫時如主函式中為swap a,b ,而從函式為
以int 型舉例 void swap int a,int b void swap1 int a,int b swap int int 稱之為實參 實際傳遞的是 a和 b 的地址 啊 在呼叫a與b 的值 a 使用的是原來的數 下面的 x,y a b 的值是x與y 的記憶體地址 swap1 int in...
c語言,關於形參實參單向值傳遞
分兩種情況bai給你對比一下du 函式形參zhi用普通變數,當dao函式被呼叫的時候,實參的版值被賦值給權 了形參,函式被呼叫的時候開闢了記憶體空間給形參,也就是資料被複制了,然後函式開始處理形參的資料,這個時候和實參的資料是沒有任何關係了。當函式結束的時候形參的記憶體空間是要被釋放,或者說刪除的,...