-2

違いは何ですか誰か教えてください

int *p[n];

int (*p)[n];

数字はどこnですか?

最初のケースがポインターの配列を意味することは知っていますが、2 番目の宣言が何を意味するのか知りたいです。

4

2 に答える 2

5
  • int * p[10]pは、10 個のポインターの配列として定義されintます。

  • int (*p)[10]p10 個の int の配列へのポインターを定義します。したがって、次のように言えます。

    int a[10];
    
    int (*p)[10] = &a;
    
于 2013-08-07T18:15:27.797 に答える
0

ええ、C の宣言は非常に紛らわしいです。この記事は、それらを解析する方法の良いガイドのようです。http://www.antlr.org/wiki/display/CS652/How+To+Read+C+Declarations 2 番目のケースは、サイズ n の配列へのポインタのようです。

于 2013-08-07T18:16:58.803 に答える