程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 形參,實參,按值,按引用,按指針

形參,實參,按值,按引用,按指針

編輯:關於C語言

形參:全稱為"形式參數"是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳送的參數.
實參:全稱為"實際參數"是在調用時傳遞個該函數的參數.
 
形參和實參的類型必須要一致,或者要符合隱含轉換規則,
當形參和實參不是指針類型時,在該函數運行時,形參和實
參是不同的變量,他們在內存中位於不同的位置,形參將實
參的內容復制一份,在該函數運行結束的時候形參被釋放,
而實參內容不會改變.
 
而如果函數的參數是指針類型變量,在調用該函數的過程
中,傳個函數的是實參的地址,在函數體內部使用的也是
實參的地址,即使用的就是實參本身.所以在函數體內部
可以改變實參的值.
 
寫一個交換a,b值的函數。
按值(C++):
 
函數聲明:   swap(x,y){.....}
函數調用:    int a=5;int b=6;
swap(a,b)
注:把a和b的值分別傳給x,y。其實a,b本身的值並沒有改變,a,b並沒有交換成功,要交換兩個數的值不能使用按值傳遞。
cout<<a;    //a=5
cout<<a;    //b=6
 
引用(C++):
函數聲明:   swap(&x,&y){.....}
函數調用:    int a=5;int b=6;
swap(a,b)
注:把a和b的值分別傳給x,y。其實a,b本身的值並沒有改變。
cout<<a;    //a=6
cout<<a;    //b=5
 
指針(C++):
函數聲明:   swap(*x,*y){.....}
函數調用:    int *a=5;int *b=6;
swap(a,b)
注:把a和b的值分別傳給x,y。其實a,b本身的值並沒有改變。
cout<<a;    //a=6
cout<<a;    //b=5

作者“ERDP技術架構”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved