① c語言中什麼是形參,什麼是實參
形參:全稱為「形式參數」是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。
形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。
實參:全稱為"實際參數"是在調用時傳遞給函數的參數,即傳遞給被調用函數的值。
實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
(1)c語言什麼叫代參函數擴展閱讀:
形參和實參的特點:
1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4、在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。
參考資料來源:網路-形參
參考資料來源:網路-實參
② C語言有參函數
選C
進入fun函數後 把"1"的地址賦值給s1,把"7"的地址賦值給s2
第一次循環 賦值後t == 1 ,s1 == p+1
賦值後*(p+1) == 7, s2 == p+n-2; 1734567
賦值後*(s2) == 1; 1734517
字元串變為 1734517
第二次循環 賦值後t == 7, s1 == p+2
賦值後*(p+2) == 1, s2 == p+n-3; 1714517
賦值後*(s2) == 7; 1714717
字元串變為 1714717
第三次循環 賦值後t == 1, s1 == p+3
賦值後*(p+3) == 7, s2 == p+n-4; 1717717
賦值後*(s2) == 1; 1711717
這時s1 == s2 循環條件不滿足結束循環
③ C語言裡面,什麼是有參函數,什麼是無參函數
無參函數,是指在主調函數調用被調函數時,主調函數不向被調函數傳遞數據。無參函數一般用來執行特定的功能,可以有返回值,也可以沒有返回值,但一般以沒有返回值居多。
有參函數,是指在主調函數調用被調函數時,主調函數通過參數向被調函數傳遞數據。在一般情況下,有參函數在執行被調函數時會得到一個值並返回給主調函數使用。
(3)c語言什麼叫代參函數擴展閱讀
1、定義有參函數的一般形式為:
函數類型 函數名(參數類型1 參數名1, 參數類型2 參數名2, …, 參數類型n 參數名n)
{
聲明部分
語句部分
}
2、有參函數使用注意事項:
(1)在定義函數時,必須要指定形參的類型。實參與形參的個數必須相等,若不相等就是語法錯誤。此外,實參與形參的類型要相同或賦值兼容。最好是相同,這樣不容易出錯。如果不相同則實參按形參的類型轉化,然後再送給形參。
(2)在傳遞數據時,實參與形參是按順序一一對應的。
④ C語言里的無參函數和有參函數是什麼
void
funtion1(void)
{
printf("funtion1是無參函數\n");
}
void
funtion2(int
x)
{
int
y;
y=x;
printf("funtion2是有參函數\n");
printf("參數的値是
%d",y);
}
mani()
{
funtion1();
funtion2(8);
}
這里所謂的有參和無參的參是指函數的參數,也就是上例中的funtion(int
x)括弧中的參數x
,該參數的類型是int型。funtion2(int
x)被調用時的形式如funtion2(8),也就是x=8,然後把參數値8傳進函數funtion2,y=8;所以,主函數main()的運行結果是,
funtion1是無參函數
funtion2是有參函數
參數的値是8
⑤ c語言中參數是什麼概念
函數的參數分為形參和實參兩種。
形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。實參出現在主調函數中,進入被調函數後,實參變數也不能使用。
形參和實參的功能是作數據傳送,發生函數調用時,主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。
舉個例子:
定義一個函數s=f(a,b),功能是將a和b的差賦值給s,那麼,a和b就是這個函數的兩個參數。
(5)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語言中什麼叫形參,什麼叫實參來權威解釋,我的理解就是形式參數和實際參數。在被調用的函數里的是形
可以這樣理解
形參出現在函數定義中,在整個函數體內都可以使用, 離開該函數則不能使用。實參出現在主調函數中,進入被調函數後,實參變數也不能使用。 形參和實參的功能是作數據傳送。發生函數調用時, 主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。1.形參變數只有在被調用時才分配內存單元,在調用結束時, 即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。 函數調用結束返回主調函數後則不能再使用該形參變數。 2.實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。 3.實參和形參在數量上,類型上,順序上應嚴格一致, 否則會發生「類型不匹配」的錯誤。 4.函數調用中發生的數據傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。
⑦ C語言中什麼是標准函數、用戶函數、無參函數、有參函數請分別解答。
c語言中標准函數指由標准頭文件定義和實現的函數,即「系統自帶的」,用戶函數是由程序員自己定義實現的。
無參函數就是函數沒有定義參數,有參函數就是函數定義了參數。
⑧ c語言函數中的實參和形參是什麼意思啊我老是看不懂 謝謝了
顧名思義,形參只是為了塑造一個函數的外形.比如max(x,y),這里x和y我們叫它形參.而我們有兩個數a=10,b=8,把a和b賦值給max函數的話,就可以比較a和b的最大值,那麼a,b在這里就叫做實參,是實際輸入的值.
你自己復制的不是很清楚嗎,解釋的很好.
⑨ c語言中,形參和實參是什麼意思有什麼區別
形參就是形式參數,用一個變數代表大家。實參就是實際參數,用一個 確切的數值代替形式參數,可以是表達式。實際參數與形式參數的參數個數、類型和順序都應一樣,如果不一樣的話,系統會強制轉換,這樣會造成數據的丟失。實 參向形參的傳遞是值的傳遞。
這個值就是對實參的表達式進行計算的結果,它可以是常量值、變數值、數組元素、函數值等。如果實參是數組名了,那麼它傳送的就是地址的值了。比如:
double power(double x ,int n)定義一個雙精度參數
power(3.0,5) 調用
x n 是形參,3.0,5是實參。如果上面定義的是整形 double power(int x ,int n),下面調用的是power(3.3,5)那麼實參中3.3會被轉換成3,一部分數據丟失了。