请解释数据结构中一段C语言代码

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:23:50
函数getelem在单链表的实现
Status GetElem_L(LinkList L,int i,ElemType &e){//Status是什么意思?LinkList是什么数据类型?ElemType是什么意思?

p=L->next;j=1;
while(p&&j<i){//在这p是什么意思?
p=p->next;++j;
}
if(!p||j>i)return error;//p不是个指针吗?为什么能做逻辑判断呢?
e=p->data;
return ok;会在运行的文件中出现ok吗?
}

status在C语言中表示状态。一般定义的LinkList是指单链表类型,也可定义为lklist。ElemType的意思是一个数据类型,这里表示地址类型。那些判断p的语句是表示p存在或不存在。不会出现OK,因为这不是标准的C语言,这是一套伪代码,属于类C语言,就像NS图一样,是不能执行的。这些代码只是讲述单链表用的。你理解这些代码的时候应该着重理解程序表达的意思,而非程序本身。

--------------------
©原创回答团成员:TeaError 解答。

这些都是自定义的数据结构.
可以用typedef .或#define OK 1.
typedef struct {
int i;
char c;
..
}Status;

typedef *Status LinkList;这样LinkList就成了结构的指针了.