2012-03-30 13 views
0

可能性の重複:
pass by reference not workingは、リンクリストに「ポインタ」と「ポインタへのポインタ」の使用に混乱

私はスタンフォード大学のチュートリアルlinklistproblem中のいくつかを行っていましたインターネット、私はチュートリアルのページ5のリンクリストの "ポインタ"と "ポインタへのポインタ"の使用を混乱させました。

機能1:

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

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

    { 
     *headref = NULL; 
    } 

機能2:私はNULL

へのリンクリストのヘッドポインタの値を変更するため、ポインタへのポインタを渡すい最初の関数で

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

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

    { 
     headref = NULL; 
    } 

第2の関数では、リンクリストの先頭ポインタの値をNULLに変更するためにポインタのみを渡します。

チュートリアルで言うことは、最初の関数を使ってリンクリストの先頭ポインタの値を変更する方が良い理由は何ですか?

チュートリアルlinklistproblemページ番号5を確認することもできます。

+0

この質問は何度も尋ねられています。なぜ最初に検索しないのですか? –

答えて

2

簡単な答えは、チュートリアルでは、2番目の方法が機能しないため、最初の方法を使用するように指示されているということです。

C FAQのQuestion 4.8は、正確にあなたの問題に関するものです。

+0

こんにちは、ありがとうalotカール.....今私は..私は本当にばかしい間違いをしている.... – priyaranjan

関連する問題