数据结构01

1.    malloc()申请空间

malloc()函数其实就在内存中找一片指定大小的空间,

在使用malloc()分配内存空间后,一定要记得释放内存空间,否则就会出现内存泄漏。

 

2.    free()到底释放了什么

free()释放的是指针指向的内存!注意!释放的是内存,不是指针!指针并没有被释放,指针仍然指向原来的存储空间。指针是一个变量,只有程序结束时才被销毁。释放了内存空间后,原来指向这块空间的指针还是存在!只不过现在指针指向的内容的垃圾,是未定义的,所以说是垃圾。因此,释放内存后把指针指向NULL,防止指针在后面不小心又被解引用了。

3.    链表

q->.link:=p->link;p->link=q
q->link=p->link

----------------------------------------------------------------------------

 你可以把link表示为该某个小朋友的右手。
q->.link:=p->link;p->link=q
这里q和p各是一个小朋友。
q->link=p->link;这句表示,q这个小朋友的右手拉的人变为p这个小朋友右手拉的人。
p^link:=q,这句表示,p这个小朋友拉住q.
两句合起来实现了q这个小朋友插入到队伍中来,并且拉在p之后。

 

 

 

p->llink->rlink=q

-------------------------------------------------------------------------------

p是一个指向一个结构体(或类)的指针,该结构体含有llink成员,而llink也是一个指向另一个结构体(或类)的指针,后者的结构体含有rlink成员

 

p->llink->rlink=q

可以把p->llink看成A,即左边的一个结构体

A-.>rlink=q

4.   补充:

双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表

 

转载于:https://my.oschina.net/u/3082759/blog/887060

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值