🐵指尖猴全新升级
第8课:节点与指针
🧱

节点与指针

亲手造出第一颗节点,指针不再可怕!

📖知识引入

📦struct定义节点
struct Node { int val; Node* next; }:数据域存值,指针域存下一站地址
✨new申请节点
Node* p = new Node{val, nullptr},在堆上造出一颗新节点
🔗箭头访问
p->val读数据域,p->next读指针域,->是指针专属写法
🏁head头指针
head指向第一个节点,抓住head就抓住了整条链表
💡
new出来的节点不会自动消失,不用时记得delete,养成好习惯不留内存垃圾

🔍定义节点并串成小链表

struct Node {
    int val;      // 数据域:存数值
    Node* next;   // 指针域:存下一个节点的地址
};

Node* a = new Node{1, nullptr};
Node* b = new Node{2, nullptr};
Node* c = new Node{3, nullptr};

a->next = b;   // 1 号节点指向 2 号
b->next = c;   // 2 号节点指向 3 号

Node* head = a;                 // 头指针
cout << head->next->val << endl; // 输出 2

每个节点装一个值和一个“下一站地址”,串起来就是链表

🎯小测验

第1题:单链表节点的指针域next存放的是?

第2题:通过指针p访问节点的数据域val应写作?

第3题:抓住链表的关键是什么?

📝本课知识点

  • ✓节点=数据域+指针域
  • ✓new造节点,->访问成员
  • ✓头指针head是链表的总钥匙
第8课完成!继续探索下一课吧 🚀