[問題] 如何使用指標修改節點內的資料呢?

看板C_and_CPP (C/C++)作者 (我不是馬奶)時間9年前 (2017/01/22 02:22), 9年前編輯推噓3(302)
留言5則, 5人參與, 最新討論串1/1
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://www.ptt.cc/bbs/C_and_CPP/M.1485022921.A.E6D.html

01/22 02:25, , 1F
(*ptr).data或是ptr->data
01/22 02:25, 1F
感謝大大 這樣可以~~!! ※ 編輯: MaYingJoe (114.24.210.190), 01/22/2017 03:32:28

01/22 11:14, , 2F
(*ptr).data好像會被有的IDE警告,像android studio
01/22 11:14, 2F

01/22 19:38, , 3F
用箭頭指就好了吧
01/22 19:38, 3F

02/01 02:18, , 4F
Android studio原來可以寫c++@@長見識了
02/01 02:18, 4F

02/02 19:00, , 5F
要多加括號 .優先權關係 or 用箭號運算子->
02/02 19:00, 5F
文章代碼(AID): #1OWwR9vj (C_and_CPP)
文章代碼(AID): #1OWwR9vj (C_and_CPP)