2017-04-20 1 views

答えて

4

で取得2 charの配列へのポインタになりたいように見えますアウト:candidates_topは、[2]の2つの要素の配列charの配列へのポインタ(*...)です。あなたがcandidates_topの場合には配列要素が配列それ自体が唯一の違いで

n整数の配列を作成しますようなものです。

インデックスは、あなたが期待するのと同じようにです:

candidates_top[7][0] = '4'; 
candidates_top[7][1] = '2'; 
+0

これは動作します。もう少し説明していただけますか? – pistacchio

+1

@pistacchioはい、あなたのコメントを書いていたので、私は説明を書いていました:-) – cmaster

1

宣言

char *candidates_top[2]; 

charには2つのポインタの配列であることをcandidates_topを宣言します。

char (*candidates_top)[2] = malloc(sizeof(*candidates_top)*n); 

あなたは内側から新しい変数candidates_topの種類を読んでする必要があります:あなたはcandidates_topは、あなたがこのよう

char (*candidates_top)[2]; 
0

これはあなたの耳が出血行った場合:

char (*candidates_top)[2] = malloc(sizeof(*candidates_top)*n); 

あなたはtypedefでそれをクリーンアップすることができます:

typedef char twos[2]; 
//.... 
twos *candidates_top=malloc(sizeof(twos)*n); 
関連する問題