作者MaYingJoe (我不是馬奶)
看板C_and_CPP
標題[問題] 如何使用指標修改節點內的資料呢?
時間Sun Jan 22 02:21:57 2017
C++的問題 是想試作linked list想到的
小魯是剛學C++的超級新手
有搜尋爬文看到類似的題目但是看不太懂解釋~~
舉例來說 在int或char中
我只要
int a ;
int* ptr ;
ptr = &a ;
之後我只要直接寫 *ptr=某個數字
a就會變成某個數字
在char也可以辦到~
可是如果同樣的方式可以在節點上作的到嗎 ?
比如我
struct NODE {
char data;
struct NODE* next;
}
struct NODE node1,node2,node3;
struct NODE* ptr ;
node1.data = 'a' ;
node1.next = &node2 ;
想問的是
這樣子我的node1的data是a 而且next指向node2了吧
那假設我用 ptr = &node1 ; 的確會編譯過 應該也有指向node1了
可是我用改變int的方式就沒辦法用在這
比如我想要 *ptr.data = 'b' 或是 *ptr.next=NULL 或 *ptr.next=node3
試圖改變node1的內容 都不會編譯過
想問該怎麼作才能用指標改變或讀取節點內容呢 ?
感謝前輩們指教 > /// <
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.210.190
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1485022921.A.E6D.html
1F:→ PkmX: (*ptr).data或是ptr->data 01/22 02:25
感謝大大 這樣可以~~!!
※ 編輯: MaYingJoe (114.24.210.190), 01/22/2017 03:32:28
2F:→ stupid0319: (*ptr).data好像會被有的IDE警告,像android studio 01/22 11:14
3F:推 b0920075: 用箭頭指就好了吧 01/22 19:38
4F:推 friendever: Android studio原來可以寫c++@@長見識了 02/01 02:18
5F:推 dick51207: 要多加括號 .優先權關係 or 用箭號運算子-> 02/02 19:00