#include <stdio.h>
int main(){
struct LNode{//结点,每个结点是一个LNode类型的数据
int data;//数据域
struct LNode* next;//指针域,该指针的返回值类型是struct LNode* ,该指针指向的是一个struct LNode的元素(即一个结点),该指针存放的是指向的元素得分内存地址
};
struct LNode lnode1;//结点1
struct LNode lnode2;//结点2
lnode1.data = 10;
lnode2.data = 200;
lnode1.next = &lnode2;//结点1的指针域指向结点2
printf("%d\n",lnode1.next->data);//打印的是lnode1.next->data,首先lnode1.next是结点1的指针域,返回值是一个struct LNode*类型的指针,该指针指向lnode2,那么lnode1.next->data就是lnode2的数据域
/**
* 知识点:->y与.的区别:
* .用于结点访问成员变量;
* ->用于指向结点的指针访问该结点的成员变量;
**/
struct LNode* lhead;//指针,就是一个指针而已
lhead = &lnode1;//给指针lhead赋值结点lnode1的内存地址,所以lhead目前是一个指向结点lnode1的指针
printf("%d\n",lhead);//打印结点lnode1的内存地址
printf("%d\n",&lnode1);//打印结点lnode1的内存地址
printf("%d\n",lhead->data);//打印结点lnode1的数据域
printf("%d\n",lhead->next->data);//打印结点lnode2的数据域,其中lhead是一个指向lnode1的指针,lhead->next返回值是结点lnode1的指针域,指向结点lnode2,lhead->next->data是结点lnode2的数据域
}
C语言:结构体、指针、单链表
于 2023-01-02 21:30:43 首次发布
本文详细讲解了在C语言中,如何通过指针访问结构体的成员变量,特别是结构体链表中->操作符的使用。通过示例代码展示了.lnode1.data和lnode1.next->data的区别,以及指针变量如lhead->data和lhead->next->data的访问方式,强调了->在指针访问结构体成员时的关键作用。
摘要由CSDN通过智能技术生成