2016-07-06 7 views
0

ゴー:http://cdecl.org/cdecl明確化が必要:「アレイ5」とは何ですか?ここ

入力:

char (*arr)[5] 

出力:

宣言ARR "アレイ5" で何文字

のアレイ5へのポインタとして?これは単に要素が5つの配列を意味しますか?

+0

はい、それはありません。何があなたを不快にさせるのですか?配列がポインタに崩壊する可能性があるという事実? –

+1

@ jnbrq-CanberkSönmez配列は暗黙的に最初の要素を指すポインタにキャストできますが、この '崩壊'は配列へのポインタではありません。 OPが持っているものは配列への実際のポインタです –

+0

不快感はなく、ちょうど明確化が必要です –

答えて

1

5つの要素の配列へのポインタです。

//Standard array 
char array[5]; 

//pointer to array 
char (*arr)[5]; 

//Assign pointer of array to arr 
arr = &array; 

//Dereference arr and use it. 
(*arr)[1] = 4; 

配列へのポインターと参照は、配列を関数に渡して戻すのに便利です。ライフタイムが返されたときにローカルの非静的配列を返さないでください。あなたはこの宣言を使用することができ、配列を参照するために

char (&arr)[5] = array;

+0

あなたの回答を10分以上受け入れることはできません。他の人にもチャンスを与えてください。 –

関連する問題