私はこのように多次元配列を作成するライブラリを使用しています:
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を返します。
では、どうすれば配列のサイズを取得できますか?
配列の宣言方法を変更しないようにこれを行う必要があるため、配列はすでに存在し、サイズを取得する必要があります。
何かアプローチはありますか?