链表
来源:互联网 发布:kmp算法 july 编辑:程序博客网 时间:2024/06/05 01:19
typedef struct node Node,*NodePtr;
typedef struct list List,*ListPtr;
struct node
{
//循环双链表的结点结构
void* data;//数据域指针
struct node *next;//指向当前结点的下一结点
};
struct list
{
NodePtr node;//头指针,指向头结点 ///////////////////////////指向 数据域或下一个节点
ushort datasize;//链表对应的数据单元所占内存的大小 ///////////////////////////指 一个此类型的的数据单元占的内存大小 举例如meter_param
ushort length;//链表list的长度 /////////////////////////node的数据域有多少个这样的meter_param结构体
byte otype;//数据类型 ////////////////////////meter_param 数据类型是结构体
typedef struct list List,*ListPtr;
struct node
{
//循环双链表的结点结构
void* data;//数据域指针
struct node *next;//指向当前结点的下一结点
};
struct list
{
NodePtr node;//头指针,指向头结点 ///////////////////////////指向 数据域或下一个节点
ushort datasize;//链表对应的数据单元所占内存的大小 ///////////////////////////指 一个此类型的的数据单元占的内存大小 举例如meter_param
ushort length;//链表list的长度 /////////////////////////node的数据域有多少个这样的meter_param结构体
byte otype;//数据类型 ////////////////////////meter_param 数据类型是结构体
};
SetNodeDataSize(&meter_list,structure,sizeof(METER_PARAM));
void SetNodeDataSize(ListPtr ptr,byte otype,int datasize)
{
if(ptr ==NULL) return ;
ptr->datasize =datasize;
ptr->otype =otype;
}
//档案参数
typedef struct meter_param
{
Long_unsigned pn;//配置序号
BASCI_PARAM basic;
EXTEND_PARAM extend;
List annex_param;
METER_EXPONENT_DATA data;
METER_AUX_DATA aux_data;
}METER_PARAM,*METER_PARAM_PTR;