函式的引數分為形參和實參兩種。
形參出現在函式定義中,在整個函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。
形參和實參的功能是作資料傳送,發生函式呼叫時,主調函式把實參的值傳送給被調函式的形參從而實現主調函式向被調函式的資料傳送。
舉個例子:
定義一個函式s=f(a,b),功能是將a和b的差賦值給s,那麼,a和b就是這個函式的兩個引數。
擴充套件資料:
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\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,&a,b,&b);
swap(a,b);
printf("after:實參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,&a,b,&b);
return 0;
}
void swap(int x,int y)
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形參為x,y\nx=%d,地址為%d\ny=%d,地址為%d\n\n",x,&x,y,&y);
函式的引數分為形參和實參兩種。
形參出現在函式定義中,在整個函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。
形參和實參的功能是作資料傳送,發生函式呼叫時,主調函式把實參的值傳送給被調函式的形參從而實現主調函式向被調函式的資料傳送。
舉個例子:
定義一個函式s=f(a,b),功能是將a和b的差賦值給s,那麼,a和b就是這個函式的兩個引數。
擴充套件資料:
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\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,&a,b,&b);
swap(a,b);
printf("after:實參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,&a,b,&b);
return 0;
}
void swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形參為x,y\nx=%d,地址為%d\ny=%d,地址為%d\n\n",x,&x,y,&y);
}