值的引用傳遞、數組作為函數參數


按值傳遞(按副本傳遞):

給函數傳遞變元(參數)時,變元(參數)不會直接傳遞給函數,二十先制作變元(參數)值的副本,存儲在棧上,再使這個副本可用於函數,而不是使用初始值。

例如:

 #include<stdio.h>
 void change(int);
 int main()
 {
    int num = 9;
    change(num);   //將num = 9的值復制一份給change中的變量,
    printf("num = %d\n",num);//change中的值為副本,
     return 0;               //main函數中的num不隨change函數中的num的改變而變

 }
void change(int num)
{
    num++;
}

運行結果:

num = 9

  

引用傳遞:

指在調用函數時將實際參數的地址傳遞到函數中,那么在函數中對參數所進行的修改,將影響到實際參數

 #include<stdio.h>
 void change(int *);
 int main()
 {
    int num = 9;
    change( &num );   //傳num的地址
    printf("num = %d\n",num);
     return 0;               

 }
void change(int * num)  //指針型變量,存放的是main函數中整型變量num的地址
{
    *num += 1//*表示取地址,取這個地址的值,指向num的值,然后對它執行加一的操作
}

   

數組作為函數參數:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM