C語言中指針變量傳參


#include<stdio.h>

void f1(int a){
    a++;
    printf("a is:%d\n",a);
    
}
void f2(int *p){
    (*p)++;
    printf("*p is:%d\n",*p);
    
}
int main(){
    /*  demo1
    int a = 1;
    int* p = &a;
    printf("first:%d\n",*p);
    f2(p);
    printf("second:%d\n",*p);
    */
    
    /* demo2  */
    int b = 1;
    printf("first:%d\n",b);
    f1(b);
    printf("second:%d\n",b);
    
    
    return 1;
}



demo1結果:
first:1
*p is:2
second:2

demo2結果:
first:1
a is:2
second:1
 

 

結論:當指針變量作為參數進行傳參操作時,方法內部對變量進行操作,同時

也會影響傳入的指針變量的值,因為他們指向的是同一塊存儲空間的數據

 

可參考圖:

 


免責聲明!

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



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