參數在c語言中
Ⅰ c語言中main函數的參數
main函數可以不帶參數,也可以帶參數,這個參數可以認為是 main函數的形式參數。
C語言規定main函數的參數只能有兩個,還規定argc(第一個形參)必須是整型變數,argv( 第二個形參)必須是指向字元串的指針數組。加上形參說明後,main函數的函數頭應寫為:
int main (int argc,char *argv[])
由於main函數不能被其它函數調用,因此不可能在程序內部取得實際值。那麼,在何處把實參值賦予main函數的形參呢? 實際上,main函數的參數值是從操作系統命令行上獲得的。當我們要運行一個可執行文件時,在DOS提示符下鍵入文件名,再輸入實際參數即可把這些實參傳送到main的形參中去。
DOS提示符下命令行的一般形式為:
C:\>可執行文件名 參數 參數……
Ⅱ C語言中什麼是形參,什麼是實參
形參:全稱為「形式參數」是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。
形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。
實參:全稱為"實際參數"是在調用時傳遞給函數的參數,即傳遞給被調用函數的值。
實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
(2)參數在c語言中擴展閱讀:
形參和實參的特點:
1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4、在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。
參考資料來源:網路-形參
參考資料來源:網路-實參
Ⅲ C語言里的參數是什麼意思
分為形參和實參,實參就是主調函數中的參數,形參是被調函數的參數。運行時實參把替換掉形參。就實現把實參的值傳給形參。不懂翻書,很詳細。
Ⅳ c語言中參數是什麼概念
函數的參數分為形參和實參兩種。
形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。實參出現在主調函數中,進入被調函數後,實參變數也不能使用。
形參和實參的功能是作數據傳送,發生函數調用時,主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。
舉個例子:
定義一個函數s=f(a,b),功能是將a和b的差賦值給s,那麼,a和b就是這個函數的兩個參數。
(4)參數在c語言中擴展閱讀:
C語言的參數傳遞方式
方法有3種方式:值傳遞、地址傳遞、引用傳遞
tips:
被調用函數的形參只有函數被調用時才會臨時分配存儲單元,一旦調用結束佔用的內存便會被釋放
值傳遞和地址傳遞,傳遞的都是實參的一個拷貝
C語言中實參和形參之間的數據傳遞是單向的「值傳遞」,單向傳遞,只能由實參傳給形參,反之不行
輸出格式並沒有選擇%p而是選擇了%d,因為十進制的數看起來更直觀。
值傳遞
如果只是傳遞值的話:
#include <stdio.h>
//值傳遞傳值
void swap( int x, int y);
int main()
{
int a=2,b=3;
printf("before:實參為a,b a=%d,地址為%d b=%d,地址為%d ",a,&a,b,&b);
swap(a,b);
printf("after:實參為a,b a=%d,地址為%d b=%d,地址為%d ",a,&a,b,&b);
return 0;
}
void swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形參為x,y x=%d,地址為%d y=%d,地址為%d ",x,&x,y,&y);
}
Ⅳ 怎樣定義C語言函數中的參數(實參、形參)
不知道函數調用原理的話,很難說得清楚的。粗略的說在C中函數其實是分成三個部分,分別是聲明、實現和使用。聲明就是告訴C有這么個函數,實現就是這個函數的完整代碼,使用則是調用這個函數幫你做運算或者是做事情。為了讓函數能做更多的事情,就需要一種方法能向函數傳遞性息,最可靠、最方便的方法就是參數傳遞,C就是這樣做的。參數傳遞也不是簡單的一件事情,首先在調用者和被調用者之間得有個約定,大家約定好了參數放什麼地方,如何使用,這個就稱為調用約定。現在我們回過頭來看什麼叫實參和形參。由上面的敘述可以看到,函數其實有一定的獨立性的,參數是在調用約定下放在指定地方供函數使用的,在我們實現函數的時候,實際的參數是什麼我們還不知道,但我們知道有多少參數,分別是什麼數據類型的和放在什麼地方(順序),這個是由調用約定來保證的。我們知道的這些就是形式的或者說是邏輯的,我們在實現函數(編寫函數體)的時候需要給他們命名,以便使用,這些在函數實現的時候命名的形式上的參數就是形式參數,簡稱形參。而在實際調用發生的時候,調用者會將實際的參數放在約定好了的地方,這個實際參數簡稱實參。函數被運行的時候實參和形參形成了一一對應,對形參的操作就變成了對實參的操作。
對調用約定還有需要說明的就是,現在常用的調用約定都是傳值的,也就是說只是傳遞了一個副本,這樣做的結果就是你對形參的操作不會被傳遞出來。
是否可以解決您的問題?
Ⅵ c語言中參數是什麼概念
函數的參數分為形參和實參兩種。形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。實參出現在主調函數中,進入被調函數後,實參變數也不能使用。
Ⅶ 在C語言中,什麼叫參數什麼叫返回值
參數就是你定義的那個數,int
a,那a就是參數.
返回值用在函數裡面的,函數就是定義在main之外的,處理一段數據的過程的代碼.簡單的說,就是給你一個數據,交給另外的一段代碼處理,那這段代碼就是函數.說遠了.
main交給自定義函數一個數據,那自定義函數處理這個數據後總要把處理的結果告訴main
吧,這個結果就是返回值~
Ⅷ C語言中「實際參數」「形式參數」的概念是什麼
形式參數就是定義函數時候的參數表,只是定義了調用時參數的個數、類型和用來引用的名字,並沒有具體的內容。形參未被調用時,不佔存儲單元。形參只在調用過程中佔用存儲單元。
在調用函數時,給形參分配存儲單元,實參可以是常量、變數或者表達式,且要與形參類型一致!而且實參要有確定的值,在調用過程中實參將值賦給形參,並將實際參數對應的數值傳遞給形式參數;
調用結束後,形參單元被釋放,實參單元仍然保留
並且維持原值。所以說,實參是調用函數傳遞的具體數據。實參對形參數據傳遞時時單向傳遞。在存儲單元中是不同的單元。
下面這段程序中
#include<stdio.h>
int
fun(int
a,int
b)
{a+=10;
b=a+b*2;
return
a+b;
}
void
main()
{
int
x=3,y=5,z;
z=fun(x,y);
printf("%d
%d
%d\n",x,y,z);
}
a和b都是形式參數,x和y都是實際參數。
程序從主函數開始運行,等到運行到z=fun(x,y)開始調用被調用函數,以被調用函數的形式進行運算,然後把計算的值返回後賦值給z,這樣一個運算就算完成了。在調用過程中,形參a和b的值都發生了改變,但是在main函數中,x和y的值都未發生變化。所以說實參向形參的值的傳遞是單向的。
Ⅸ 在c語言中形參與實參是如何定義的
在C語言中,形參即為形式參數。它在整個函數編譯的時候,沒有實際的數據賦於它,僅僅作於定義某個函數或者函數名。
而實參既為實際參數。顧名思義,在函數中,有一個特定的數據賦值給它,可以作於在函數中進行運算。
比如:
void
main()
{
int
a=1,b;
b=function(a);
//a作於在函數中進行運算,是實參
}
int
function(int
c)
//c作於定義function函數,是形參
{}
Ⅹ C語言中參數傳遞有什麼特點
C語言中參數傳遞 分類及特點:
1、值傳遞: 在函數調用時,發生的數據傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。
2、地址傳遞:可以實現地址互換。
3、引用傳遞:與地址傳遞一樣,可以實現地址互換,但該傳遞僅適用於C++語言。