- 締切済み
C++ の多次元配列なんですが
int i,j; int (*p)[2][3]; int *x; int a[2][3] = {{1,2,3},{4,5,6}}; p = &a; x = &a[0][0]; for ( i = 0; i < 2; i++ ) { for ( j = 0; j < 3; j++) { printf (" %d", (*p)[i][j]); } } printf (" | "); for ( i = 0; i < 2; i++ ) { for ( j = 0; j < 3; j++) { printf (" %d", *(x + ( i * 3 + j )) ); } } printf (" | "); for ( i = 0; i < 6; i++ ) { printf (" %d", *(x + i) ); } これで大丈夫でしょか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.1
何をもって「大丈夫」といえばいいのか、わかりません。 また、そのソースコードは、ヘッダーファイルのインクルードや main関数がないため、そのままでは実行できません。 仮に、コードに修正を施して実行できるようにしたとして、 わざわざ >*(x + ( i * 3 + j )) >*(x + i) と書かなくても、もっと簡単に x[i * 3 + j] x[i] と書けます。