4

配列の要素数を計算するのは簡単です:

int myarr[] ={1,2,3};
int myarrsize = sizeof(myarr)/sizeof(myarr[0]);

しかし、どうすれば2D配列の行数を計算できますか?

int my2Darr[][3]={{1,2,3},{4,5,6}};
int my3DarrRows = ???

出来ますか?

4

4 に答える 4

15

同じ方法。したがって、次のいずれかです。

sizeof(my2Darr)/sizeof(my2Darr[0])

また:

sizeof(my2Darr[0])/sizeof(my2Darr[0][0])

「行」の意味によって異なります。

于 2013-01-14T00:26:29.540 に答える
4

サイズが既にわかっている 2 番目の配列サイズを指定しない限り、コードはコンパイルされません。

int my2Darr[][3]={{1,2,3},{4,5,6}};
             ^^^

では、 2D 配列の行数を計算するにはどうすればよいのでしょうか。

template <class T, unsigned N, unsigned N1>
int length(T (&)[N][N1])
{
    return N;
}

列サイズが必要な場合は、N1代わりに戻ります

于 2013-01-14T00:42:56.383 に答える
3
sizeof(arr[0])/sizeof(arr[0][0])
于 2013-01-14T00:25:51.877 に答える