2011-10-12 9 views
5


同じことだったかどうか分からなかったので、sizeof()と両方とも80(64ビットOS)を返すので、どちらも同じ(charポインタの配列)と思う傾向があります。C変数宣言私は常にchar型のポインタの配列のために最初に使用しました</p> <pre><code>char *a[10]; </code></pre> <p>と</p> <pre><code>char *(a[10]); </code></pre> <p>の違いはあるが、今私が見つけたコードが第二の使用は何

しかし、私はオンラインでの説明や*([])の構文を見つけることができないので、私はいくつかの確認を求めていました。

おかげ

答えて

11

は、二つは等価であり、charへのポインタの10素子アレイを表します。

char (*a)[10]と対照的に、これはcharの10要素配列へのポインタです。

疑問がある場合は、cdeclを使用してC宣言の解読を行うことができます。 Unixでは、通常はコマンドラインツールとして利用できます。 online versionもあります。

1

char *a[10];char *(a[10]);は同じです。このように言うと、char *a[10];pointer arrayで10以降は10の配列です。all are pointers!あなたは、両方が同じことを言い方を変えているのを見ます。

関連する問題