/*
首先定義上面
形式參數:定義函數時函數名后括號中的變量名!
實際參數:調用函數時函數名后括號中的表達式!
1.形參未被調用時,不占存儲單元。形參只在調用過程中占用存儲單元。形參定義時必須指定類型!
2.實參是常量。變量或者表達式!要與形參類型一致!而且實參要有確定的值,占用儲存單元,在調用過程中實參將值賦給形參!
3.C中實參對形參數據傳遞時時單向傳遞。在存儲單元中是不同的單元!*/
別人解答:
include
void swap(int a,int b)
{
int t;
t=a;a=b;b=t;
}
main()
{
int i=3,j=5,p=&i,q=&j;
swap(p,q);printf("%d %d\n",p,*q);
}
里面,哪些是形參,哪些是實參呢?
void swap(int *a,int *b) 中的a、b是形參,swap(p,q)中的p、q是實參.
至于為什么“參數可以由實參傳向形參,而不能逆反傳遞”,你可以這樣理
我們不妨把函數比作戲劇的劇本,把形參比做劇本中的人物;當我們要表演此戲劇的時候,我們肯定會讓真實的演員(實參)去扮演(替換)劇本里的角色(形參),而絕不可能用劇中人去替代現實的演員!理解了上面的道理,你還會有問題嗎?