在链接列表中使用“指针”和“指针指针”时感到困惑

时间:2012-03-30 03:55:48

标签: c

  

可能重复:
  pass by reference not working

我正在浏览互联网上stanford的一些教程linklistproblem,我对本教程第5页第5页的链接列表中“指针”和“指针指针”的使用感到困惑。

功能1:

   changeTonull( &head) //passing by pointer to head pointer of link list  

 void changeTonull( struct node ** headref) // function defination

  {
        *headref = NULL;
  }

功能2:

 changeTonull(head) // passing head pointer of link list

void changeTonull( struct node * headref) // function defination

  {
        headref = NULL;
  }

在第一个函数中我传递指针指针,用于将链接列表的头指针值更改为NULL

在第二个函数中我只传递一个指针,将链接列表的头指针值更改为NULL

那么教程说的是,最好使用第一个函数来改变链接列表头指针的值,为什么?

您还可以查看教程linklistproblem第5页

1 个答案:

答案 0 :(得分:2)

简单的答案是教程告诉你使用第一种方法,因为第二种方法不起作用。

C FAQ Question 4.8正是您的问题。