改變指標的指向

2021-09-07 07:31:02 字數 732 閱讀 5424

通過函式改變指標的指向,則函式的入參需要是指標的位址,即引數型別為指向指標的指標。

如果僅僅是指標變數,則通過*賦值改變的是指標所指向變數的值,而不是指標的指向。而給指標本身賦值,則改變的是函式裡指標變數的值,而不會傳遞到呼叫函式裡的指標變數。

例子1:入參為指向指標的指標

#include

using namespace std;

int num = 8;

void changepoint(int **p2)//入參型別為指向指標的指標。

int main()

輸出:8 5

例子2:入參為指標

#include

using namespace std;

int num = 8;

void changepoint(int *p2)//入參型別為指標,則p2和p1是兩個指標,兩個指標指向的位址相同。

{int i = 0;

int *p3 = &i;

*p2 = num;//改變指標p2指向內容的值即改變了p1指向內容的值,及a的值也變為8。

p2 = p3;//指標變數p2的改變,但不會影響到p1的指向。

int main()

{int a = 5;

int *p1 = &a;

changepoint(p1);//p1仍指向a,但a的值已經變為8。

cout << *p1 <<' '<< a;

輸出:8 8

改變指標指向

如何通過函式來改變傳入指標的指向?想必大家第一反應就是使用指向指標的指標作為形參,也就是說會寫類似於func 1的函式 cpp view plain copy void func 1 dword ppdw g dwval是乙個全域性變數,只要知道這個即可,其餘的暫時不用考慮。有了func 1,那麼呼...

this指向 改變this指向

常見的this指向 常見的this指向 全域性下的this指向window 函式中的this,誰呼叫指向誰 建構函式中的this指向建構函式的物件 物件中的this預設指向當前物件 事件處理函式中this誰觸發指向誰 指向觸發事件的目標元素 定時器函式,this 指向 window 箭頭函式中沒有t...

this指向 改變this指向

function a a 此處相當於window.a 這僅是我個人的理解 在這個 中我們可以看出在 的結尾是由window來呼叫的函式a,那麼這個時候this指向window,this.user,全域性中沒有user,所以先定義了,但是沒有賦值,所以列印出undefined this指向練習二 va...