我使用创建这样一个多维数组库:数组大小
const unsigned short arrayA[5] = {1, 2, 3, 4, 5};
const unsigned short arrayB[3] = {7, 8, 9};
const unsigned short *multiArray[] ={arrayA, arrayB};
我得到它的价值和它的工作原理:
printf("03: %d\n", multiArray[0][3]); //4
printf("12: %d\n", multiArray[1][2]); //9
的当我需要的任何数组的大小问题来了,我已经试过这样:
printf("Size of first array: %ld \n", sizeof(multiArray[0])/sizeof(multiArray[0][0]));
它返回2,可能是b因为它使用地址。
我该如何获得数组的大小呢?
我不得不这样做,试图不改变数组的声明方式,所以数组已经在那里,我只需要获得大小。
任何方法?
arrayA和arrayB不应该是指向数组恕我直言。 – 2013-02-13 09:44:21
对不起,有一个错字,现在修复 – 2013-02-13 09:45:09