亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么傳入的節點要用指針

直接用整型的數不行嗎?為什么要用指針,傳值的時候還得寫取地址符號

正在回答

5 回答

可以傳整型數,但很多時候傳入的結點的類型并不像整型這么簡單,而是一個對象。這樣的話,如果傳指針就會比直接傳值效率要高一些,我想老師是考慮到大多數情況才選用傳指針參數的,如果你擔心在函數中會修改傳入的參數的話,可以將其修飾為const,這樣更加保險!希望對你有幫助~

0 回復 有任何疑惑可以回復我~

void test(struct *p,int &num2)
{
num2=(你p中要找的數);?
}//此時在主函數可以通過num2來查看你找到的數

0 回復 有任何疑惑可以回復我~
#1

伏雀 提問者

如果只是增加一個結點,那是否視頻中傳入值所用的指針或引用就是多此一舉。
2016-12-06 回復 有任何疑惑可以回復我~

可以, num2可以不用引用

0 回復 有任何疑惑可以回復我~
#1

伏雀 提問者

但視頻中有這種情況 比如 void test(int& num1,int& num2) { num1=num2; //num2也使用了指針或引用 }
2016-12-06 回復 有任何疑惑可以回復我~

但你需要向原來的樹上插入,因此傳進來的樹應該是指針或引用,這樣原來的樹才會被修改

0 回復 有任何疑惑可以回復我~
#1

伏雀 提問者

那改變的應該是原來的樹,所以傳入的樹應該是指針或引用,但傳入的結點應該只需要單向傳入而并不需要被改變
2016-12-06 回復 有任何疑惑可以回復我~
#2

伏雀 提問者

比如 void test(int& num1,int num2) { num1=num2; //num2不使用指針或引用是否都能改變傳入的num1的值? }
2016-12-06 回復 有任何疑惑可以回復我~

如果你用值傳遞,在函數中只是單向傳遞,你在函數中對原來的數據進行修改,數據只會在函數中改變,如果出了這個函數,外面的相當于沒有修改,引用是綁定在某一個對象身上,這里引用綁定的對象時指針,引用只是對象一個別名,就相當于去地址操作。

0 回復 有任何疑惑可以回復我~
#1

伏雀 提問者

進行ADD結點時傳入一個結點的值,好像并不要對傳入的值進行修改
2016-12-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么傳入的節點要用指針

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號