違いは何ですか
char *array[10];
と
char (*array)[10];?
私の理解では、
- ケース 1:
arrayサイズ 10 の文字配列の配列として宣言されています。[]よりも優先順位が高いためです*。
- ケース 2:
arrayサイズ 10 の文字配列へのポインターとして宣言されます。- これは、
()と[]が同じ優先順位を持ち、左から右に評価されるためです。次に、*演算子が評価されます。
私の理解は正しいですか?たとえそれが正しいとしても、私は信じられないほど混乱します。誰かが違いをもう少し明確に説明できますか?