、試してみてください。
sizeof(matrix) /sizeof(matrix[0]) <- outer array
sizeof(matrix[0])/ sizeof(matrix[0][0]) <- inner array
linux ~ $ cat sizeof_test.c
#include <stdio.h>
int main(void)
{
int matrix[][3] = { {1,2,3}, {1,2,3}, {1,2,3}, };
int matrix2[][3] = { {1,2,3}, {1,2,3}, {1,2,3}, {1,2,3}, };
int matrix3[][4] = { {1,2,3,4}, {1,2,3,4}, {1,2,3,4}, {1,2,3,4}, };
printf("array (%d) - elements(%d)\n", sizeof(matrix) /sizeof(matrix[0]), sizeof(matrix[0])/ sizeof(matrix[0][0]));
printf("array (%d) - elements(%d)\n", sizeof(matrix2) /sizeof(matrix2[0]), sizeof(matrix2[0])/ sizeof(matrix2[0][0]));
printf("array (%d) - elements(%d)\n", sizeof(matrix3) /sizeof(matrix3[0]), sizeof(matrix3[0])/ sizeof(matrix3[0][0]));
return 0;
}
linux ~ $ gcc sizeof_test.c -o sizeof_test
linux ~ $ ./sizeof_test
array (3) - elements(3)
array (4) - elements(3)
array (4) - elements(4)
linux ~ $
はいその作業あなたはX <3 に条件を設定するが、そこには、動的なアプローチisn'tか? sizeofまたは何か? –
Objective-C for Cocoaを使用していますか?もしそうなら、NSArrayまたはNSMutableArrayを使用して、myArray.Countを使用することができます。 http://developer.apple.com/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSArray_Class/Reference/Reference.html – Sean
ハードコーディング3のループの問題は、誰かが行列に別の要素を追加したとき、sizeof ()規約は、すべてのコード化されたサイズを書き換える必要がない場合に使用されます。 – sfossen