-3
int *a[4] = {
(int[]){ 1},
(int[]){ -4, -5},
(int[]){ -4, -5, 0},
(int[]){ 1, 3, 4, 6}
};
for (i = 0; i < 4; i++)
len = sizeof(a[i])/sizeof(int);
正しいアプローチではありませんが、lenは常に2です。誰かがlenが2である理由を説明できますか?それは未定義の振る舞いですか、そうでない場合、どのように計算されていますか?配列のlenは常に2
コードに多次元配列がない場合。 – Olaf
ええ、それはポインタの配列です。私は削除するために自分自身の質問にフラグを立てた。 –
あなたは削除する質問に自分でフラグを立てる必要はなく、質問の作成者であるため、実際に削除することもできます。 –