关于指针问题,请教
下面是我写的代码中的三个小函数nodePush( &treeStack,leaf );//treeStack=NULL;leaf有值
在这个函数中,首先判空
//结点栈Push
int nodePush( nodeStackPtr* head,binaryTreePtr tree )
{
//判空
if( nodeIsEmpty(*head) )//问题在这里,*head应该为NULL吧???
{
if( ( (*head)=(nodeStack*)malloc( sizeof(nodeStack) ) ) )
return False;
(*head)->date = tree;
(*head)->next = NULL;
return True;
}
.......}
接下来是判空函数
//结点栈判空
int nodeIsEmpty( nodeStackPtr head )
{
if(head)
return True;
else
return False;
}
但是每次执行到了结点栈判空部分,head总是有一个地址,而且*head传入判空函数后,返回的是False
请问这个是什么原因?