Tại sao kết quả khi in node, *node, &node lại khác nhau? &node với *node là gì?
Chào mọi người em đang học C và có thắc mắc ở những dòng bôi đỏ.
Ở function createNode: con trỏ node được tạo ra và return cho hàm.
Nhưng em có thắc mắc là khi in các giá trị node, *node, &node thì chúng có kết quả khác nhau. Đặc biệt thì node luôn có giá trị thay đổi sau mỗi lần chạy còn &node và *node thì không.
Mọi người giải thích giúp em về ý nghĩa thực sự của nó và nơi lưu trữ nó. (em được biết là con trỏ được lưu ở heap nhưng không hiểu về những điều trên)
Có phải giá trị khi print node chính là địa chỉ trên heap của nó ? Vậy thì &node với *node là gì ạ.
Em xin cảm ơn ạ.

node: nơi mà nó trỏ đến (trên heap)
&node: vị trí của node trên stack.
*node: vị trí của info.
Bạn tham khảo con trỏ nhé