c/c++共享链表的实现

本文探讨了如何在C/C++中创建一个共享的双向链表,重点介绍了链表节点数据的访问,以及详细说明了共享链表的插入和销毁操作。
摘要由CSDN通过智能技术生成

创建一个共享双向链表实现对节点承载数据的访问

#include <iostream>
#include <string>
#include <stdlib.h>

using namespace std;

//共享链表的节点作为承载数据的节点
typedef struct _DoubleLinkNode
{
	struct _DoubleLinkNode* next;//下一个结点的指针
	struct _DoubleLinkNode* prev;//上一个结点的指针
}DbLinkNode, DbLinklist;//Linklist为指向结构体LNode的指针类型

typedef struct
{
	int fd;
	time_t timeout;//使用超时时刻时间戳表示
	DbLinkNode node;//双向链表结点"挂件"
}ConnTimeout;

bool DbList_Init(DbLinklist& L)
{
	L.next = NULL;//指针域置空
	L.prev = NULL;
	return true;
}
int main()
{

    //通过节点访问节点承载的数据
	ConnTimeout* cl = NULL;
	cl = new ConnTimeout;
	cl->fd = -1;
	DbList_Init(cl->node);	
	ConnTimeout* ct = new ConnTimeout;
	DbLinkNode* P = &(ct->node);

	cout << "请输入超时结点对应的fd:";
	cin >> ct->fd;
	cout << "\n通过链表中的结点访问结点上承载的数据:" << endl;
	int offset = offsetof(ConnTimeout, node);
	ConnTimeout* tmp = (ConnTimeout*)((size_t)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值