1. 程式人生 > >關於 指標的引用和指標值傳遞

關於 指標的引用和指標值傳遞

1, 形參是實參的拷貝(值一樣,儲存地址不一樣)。包括指標變數,指標變數 int *P=&a;   p只是儲存地址的變數。

請欣賞第一段程式碼,回答輸出結果(18分)

#include<stdio.h>
#include<iostream>
using namespace std;

void Try_change(int *p)
{int b=7;
p=&b;
cout<<&p<<endl;
}

int main()
{
int *p=NULL;
int a=5;
p=&a;
cout<<&p<<endl;
Try_change(p);
cout<< *p;
return 0;
}

說是 7 的請再讀一遍1,然後看輸出結果

0x6afefc
0x6afee0
5


2.引用是同一個人兩個名字。

請聽題,回答輸出結果


#include<stdio.h>
#include<iostream>
using namespace std;

void Try_change(int *&p)/*********加了一個引用符號*******/
{int b=7;
p=&b;
cout<<&p<<endl;
}

int main()
{
int *p=NULL;
int a=5;
p=&a;
cout<<&p<<endl;
Try_change(p);
cout<< *p;
return 0;
}


這次知道是幾了吧,自行對照答案:

0x6afefc
0x6afefc
7

最後一個上點難度,看看自己能不能理解我們最chu碰到的題



#include<stdio.h>
#include<iostream>
using namespace std;

void Try_change(int *p)
{int b=7;
*p=b;               //注意改動哦
cout<<&p<<endl;
}

int main()
{
int *p=NULL;
int a=5;
p=&a;
cout<<&p<<endl;
Try_change(p);
cout<< *p;
return 0;
}


0x6afefc
0x6afee0
7
 
解指標是儲存地址的變數