In C ich folgendes tun würde, versuchen:
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 ~ $
ja seine Arbeit, wenn Sie setzen die Bedingung X <3 aber isn 't es einen dynamischen Ansatz? eine Größe von oder etwas? –
Verwenden Sie Objective-C für Kakao? In diesem Fall können Sie ein NSArray oder NSMutableArray verwenden und dann myArray.Count verwenden. http://developer.apple.com/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSArray_Class/Reference/Reference.html – Sean
Das Problem mit der harten Codierung 3 in der Schleife ist, wenn jemand ein anderes Element zur Matrix hinzufügt, die Größe von() Konventionen werden verwendet, um nicht alle codierten Größen neu schreiben zu müssen, wenn das passiert. – sfossen