有如下结构体
struct abc
{
  struct abc * NEXT;
  int abc;
}abc p;
p=p->NEXT;如何判断p->NEXT这个值是否有效,我之前用if(p->NEXT),没有效果啊·~~

解决方案 »

  1.   

    abc初始化的时候给NEXT赋值为NULL,当链表赋值后,指针就指向一个合法指针
      

  2.   

    如何判断p->NEXT这个值是否有效,我之前用if(p->NEXT),没有效果啊·~~
    ==========
    你都没有初始化,当然不行了。先对p->NEXT初始化为NULL之后才能判断,要不然就是野指针了。
      

  3.   

    指针操作一般都是初始化为NULL
    如果释放空间后也赋为NULL
      

  4.   

    1;abc p={0};
    2;memset(&abc,0,sizeof(abc);
      

  5.   


    struct abc
    {
      struct abc * NEXT;
      int abc;
      abc()
      {
        NEXT = NULL;
        abc = 0;
       }
    }
    ps:楼主你的int变量和结构体重名了!!!