2016-07-25 19 views
-3

Cの中でどのような宣言がC C++にありますか?それは、配列のいくつかの種類があるため、これらのメンバーにアクセスする方法を、これを解決した後も
CとC++でこの構造体は何ですか

int (*array1)[10] 

、?
これが括弧なしで宣言することができるよりも、ポインタが10の配列へのポインタを返す関数であれば?どのような議論が必要ですか?

EDIT:
あなたはそれが10個の整数の配列へのポインタで答えたように、これらの2つの間の違いは何ですか?

int (*array1)[10] 
int array1[10] 

EDIT:
そのポインタを割り当てる方法は?私は

int array[10] __attribute__((used)) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 
int (*array_ptr)[10] = array; 

を試してみて、それがエラーを与える:

cannot convert 'int*' to 'int (*)[10]' in initialization

+6

これは配列へのポインタです。 –

+3

[cdecl](http://cdecl.org/)を見てくれるウェブサイトがあります。それは、array1をint *の配列10へのポインタとして宣言していると言います。 –

+0

これは役立つかもしれません:http://www.cdecl.org/ –

答えて

0

それは配列1としてポインタに配列int型 10の宣言です。

通常、array1 [0]、array1 [1] ...

+1

末尾にセミコロンがある場合は、**定義**になります(ただし、そこには「extern」がない限り)。 –