2012-03-03 10 views
0

CODE:はCでジャグ配列の長さを取得

int *Array[8]; 

    Array[0] = (int *) malloc(sizeof(int) * 5); 

    printf("%d" , sizeof(Array)/sizeof(int)); // Result = 8 : True 
    printf("%d" , sizeof(Array[0])/sizeof(int)); // Result = 1 : False 

どのように私は、配列の長さは[0] 5を得るのですか?

答えて

7

できません。

Cの動的配列は長さ情報を持ちません。したがって、長さが5のものが割り当てられていることを覚えておくためにコードを書く必要があります。

+0

これは部分的に真実です。配列のサイズは、コンパイル時に計算できるときにチェックすることができます。 "int myary [8]; sizeof(myary)/ sizeof(int) '' – ckruse

+2

@ckruse:これが私が「ダイナミックアレイ」と言った理由です。 –

+0

うーん、私は盲人であるとか愚痴です。私は "ダイナミック"を見ていない、申し訳ありません。 – ckruse

関連する問題