指針形參

指針做形參時  實參傳遞過去的是一個副本(拷貝),第一段程序只是改變了副本所指變量的值,並沒有改變實參所指變量的值,也沒有改變實參指針的內容,第二段程序改變了實參指針所指變量的內容。


一級指針做形參:首先一定要明白形參和你傳遞參數的那個實參是兩個不同的變量,即使同名也還依然不同。指針傳遞的是一個變量或者一個值的地址,但是它本身還是採用值傳遞的方式。即你不能使它指向另外一塊地址,但是你可以改變它指向的空間裏存的值。


例如如下程序:

#include<iostream>
using namespace std;
void test(int *p){
    int a=4; 
    p=&a;
      
    cout<<*p<<endl;
}
int main(){
    int x=3;
    int *p;
    p=&x;
    cout<<x<<endl;
    test(p);
    cout<<*p<<endl;
    return 0;
}
//輸出結果 3 4 3
#include<iostream>
using namespace std;
void test(int *p){
    *p=4;
      
    cout<<*p<<endl;
}
int main(){
    int x=3;
    int *p;
    p=&x;
    cout<<x<<endl;
    test(p);
    cout<<*p<<endl;
    return 0;
}
//輸出結果3 4 4



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章