❶ c語言 函數做函數的形參
主函數的實參是由操作系統傳遞的。
c++規定的主函數標准格式(c語言未具體規定):int
main(int
argc,
char
*argv[])
其中int
argc
表示操作系統傳遞給程序的參數個數,char
*argv[]
存儲各個參數。
例如:
若有程序如下:
int
main(int
argc,
char
*argv[])
{
int
i;
printf("您輸入了
%d
個參數\n分別是:",argc);
for(i=0;i
運行->
cmd
->
輸入
c:\app.exe
hello
world!
回車
執行結果將是:
您輸入了
3
個參數
分別是:c:\app.exe
hello
world!
"
注意,第一個參數值將是你程序的文件名。
❷ c語言中形參和實參的區別
函數的形參和實參區別如下:
1. 形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。函數調用結束返回主調函數後則不能再使用該形參變數。
2. 實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。
3. 實參和形參在數量上,類型上,順序上應嚴格一致,否則會發生類型不匹配」的錯誤。
4. 函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。
實參(argument):
全稱為"實際參數"是在調用時傳遞給函數的參數. 實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
形參(parameter):
全稱為"形式參數" 由於它不是實際存在變數,所以又稱虛擬變數。是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳入的參數.在調用函數時,實參將賦值給形參。因而,必須注意實參的個數,類型應與形參一一對應,並且實參必須要有確定的值。
形式參數:形參是函數被調用時用於接收實參值的變數。
根據實際需要可有可無。沒有形參時,圓括弧也不可省;多個參數之間應用逗號分隔。參數包括參數名和參數類型。
❸ c語言中函數形參與實參的區別與聯系
形參與實參在本質上是兩個不同的東西。
比如函數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是實參,x仍然是形參。計算前後a的值並沒有變化。
如程序中調用:c=f(a)+f(2),結果得到c=10。
值得注意的是,往往實參與形參使用同一個字母,比如都用x,但是這兩個x是不同的變數,實參x把值賦給形參x後,就沒有實參的什麼事了,在函數中形參x值的變化也不會影響實參x的值。
說起它們的相同之處,就是它們的變數類型是一樣的;說起它們的聯系,就是有一次實參對形參的賦值;說起它們的區別,則是兩個不同的變數。
啰嗦很多,不知是否說清,若有不明之處,請留言。
❹ 在C語言中,函數的形參只能用auto或register來說明嗎
首先,第一個是不正確的。每個的具體說明如下:
第一,函數的形參不僅可以用auto或者register來說明,因為函數的形參還可以用const來定義一個其值不可變的常量形參,還可以在main函數前定義一個結構體,然後用結構體名來定義函數的形參。
第二,外部變數的隱含類別是外部存儲類別,即extern。
第三,函數中的變數賦初值則每次調用都將會賦初值,如果想在第一次調用是賦一次初值,而在其後的調用過程中在第一次調用的基礎上繼續進行運算,則可以定義static靜態變數並且直接賦予初值。
第四,在調用函數時,實參和對應的形參在類型上只需賦值兼容。因為在計算機內部,像字元型或者各類符號(中文,法文,德文等等)都是以ASCII碼值的形式存在,因此當對字元進行操作的時候同樣可以通過四則運算來達成有關目的,只需知道對應的碼值就可以了,所以只需賦值兼容都可以操作。
❺ 在c語言中形參與實參是如何定義的
在C語言中,形參即為形式參數。它在整個函數編譯的時候,沒有實際的數據賦於它,僅僅作於定義某個函數或者函數名。
而實參既為實際參數。顧名思義,在函數中,有一個特定的數據賦值給它,可以作於在函數中進行運算。
比如:
void
main()
{
int
a=1,b;
b=function(a);
//a作於在函數中進行運算,是實參
}
int
function(int
c)
//c作於定義function函數,是形參
{}
❻ C語言中形參與實參是什麼請具體解釋。
形參:全稱為"形式參數"是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳如的參數.
實參:全稱為"實際參數"是在調用時傳遞個該函數的參數.
形參和實參的類型必須要一致,或者要符合隱含轉換規則,
當形參和實參不是指針類型時,在該函數運行時,形參和實
參是不同的變數,他們在內存中位於不同的位置,形參將實
參的內容復制一份,在該函數運行結束的時候形參被釋放,
而實參內容不會改變.
而如果函數的參數是指針類型變數,在調用該函數的過程
中,傳個函數的是實參的地址,在函數體內部使用的也是
實參的地址,即使用的就是實參本身.所以在函數體內部
可以改變實參的值.
給你一個很簡單的例子:
int f(int b) /*b為形參*/
{ return b;}
main()
{int a=1;
printf("%d",f(a));/*a為實參*/
}
❼ c語言函數中的實參和形參是什麼意思啊我老是看不懂 謝謝了
顧名思義,形參只是為了塑造一個函數的外形.比如max(x,y),這里x和y我們叫它形參.而我們有兩個數a=10,b=8,把a和b賦值給max函數的話,就可以比較a和b的最大值,那麼a,b在這里就叫做實參,是實際輸入的值.
你自己復制的不是很清楚嗎,解釋的很好.
❽ C語言中什麼是形參,什麼是實參
例如:你自己定義一個函數
int
max(int
a,int
b){...
}
在這里a,b就是形參,接下來你會調用max函數,如:
void
main()
{
int
c,int
d;
.....
max(c,d);
}
這里c
d就是實參
所謂形參就是在函數定義體中的參數
所謂實參就是在調用函數時實際傳進函數的參數
❾ C語言函數中的形參和實參分別是指什麼
形參出現在函數定義中,在整個函數體內都可以使用, 離開該函數則不能使用。實參出現在主調函數中,進入被調函數後,實參變數也不能使用。 形參和實參的功能是作數據傳送。發生函數調用時, 主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。
1.形參變數只有在被調用時才分配內存單元,在調用結束時, 即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。 函數調用結束返回主調函數後則不能再使用該形參變數。
2.實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
3.實參和形參在數量上,類型上,順序上應嚴格一致, 否則會發生「類型不匹配」的錯誤。
4.函數調用中發生的數據傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。
❿ C語言形參是什麼
形參全稱形式參數,位置是寫在函數定義時函數名後面的括弧中,比如
int max(int x, int y)
{函數內容}
這個函數,形參就是函數名max後面括弧里定義的x和y
而實參全稱實際參數,是你在這個函數之外調用該函數的時候,函數名後的括弧中的內容
比如
main()
{
int a=3,b=4;
int c=max(a,b);
}
在int c=max(a,b)這一行可以看到,實參就是max括弧後的a和b