不能将Lnode * 类型的值分配到Lnode * 类型的实体的原因sh
#include "stdio.h"typedef enum { LIST, ATOM }ElemTag;
typedef struct
{
ElemTag Type;
union
{
int atom;
struct
{
struct LNode *hptr, *tptr;
}ptr;
};
}LNode;
/*求广义表的表头结点操作*/
LNode* GetHead(LNode *L)
{
LNode *p;
if (NULL == L)
{
printf("该表是空\n");
return NULL;
}
p= L->ptr.hptr; /*不能将Lnode * 类型的值分配到Lnode * 类型的实体的错误*/
if (!p)
{
printf("该表头是空\n");
}
if (L->Type == ATOM)
printf("表头是原子\n");
else
printf("表头是非空的子表\n");
return L;
}