简单谈C语言链表之基础知识
这篇文章只是我在学习链表中我认为的一些难点的理解,并不是系统的讲解链表。
1.理解链表中的struct
struct student p1 约等于 int p1。
struct student{
int data; //数据域
struct node *next; //指针域
};
上面的代码就相当于我们声明了一种类型,类似int,float(int,float这些是系统中本来就声明好的,所以我们可以直接用)
2.理解链表中的struct node *next;
就像图片中所展示的一样,我们需要在A中留下一条绳子,这条绳子连着B,让系统可以找到B,1中说过struct node约等于int,所以struct node *next 约等于 int *next;
3.理解建立动态链表
我对其中不理解的是p2 = p1;
因为他们俩是指针,p2->next =p1,这时候我们认为p2指向2图中的A,那么就相当于A->next = p1,
之后p2变成p1,就相当于p2往后移到了B,然后再放p1出去浪,再带回来数据。如图,
4.理解malloc
(struct Student *)malloc(sizeof(struct Student));前面(struct Student *)代表是强制转换(约等于(int)x1;),否则返回值是viod类型
好了,这就是我对链表的一些理解,第一次写文章,有不好的地方希望大家指出来。