2017-03-22 13 views
0

配列とポインタを渡す違いは混乱しています。配列とポインタを関数に渡す

私たちは配列を渡すとき、彼は彼の名前(変数名)を書くだけです。例:function(array); ポインタを渡すときに、&を追加する必要があります。例:function(&ポインタ);

実際には配列は最初の要素へのポインタです なぜ別の関数に渡すためのポインタの名前しか書けないのですか?

+0

@ Barmar--この質問は別の重複を持っている可能性がありますが、私は選ばれた質問はそれらの一つだとは思わない。 OPが 'int arr []'という配列を与えられたときに、最初の要素へのポインタを 'func(arr)'で渡すことができる理由をOPが尋ねているようです。もちろん、これは誤解されています。私は、 'int n 'を指定すると' func(&n) 'でポインタを渡しますが、' int * p =&n'のポインタを指定すると、 'func(p)'を使ってポインタの名前を返します。 –

答えて

0

この2つの違いは、構文的にのみです。書き出される方法は異なります。この質問に関するStackOverflowにも同じ質問があります。あなたはそれを見てみることができますhere.