这种判断链表是否为满是否合理?
我看到书上有这样的程序是是用malloc分配内存的方式来链表判断是否为满,如果是NULL就为满,否则为空。但是这总觉得内存那么大,如何才会满?
比如下面的程序,子函数中用malloc分配内存的方式来判断
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "bool.h"
typedef int Item;
typedef struct node
{
Item item;
struct node *next;
}Node;
void InitializeNode(Node **head);
int main(void)
{
Node *head;
InitializeNode(&head);
return 0;
}
void InitializeNode(Node **head)
{
(*head) = NULL;
}
bool NodeIsEmpty(Node *head)
{
if(head == NULL)
{
return true;
}
else
{
return false;
}
}
bool NodeIsFull(Node *head)
{
Node *pnew;
pnew = (Node *)malloc(sizeof(Node));
if(pnew == NULL)
{
return true;
}
else
{
return false;
}
free(pnew);
}