2次元配列のポインタ標記
Posted: 2018年11月30日(金) 22:05
#include <iostream>
using namespace std;
int main(){
int data[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
cout << *(data[ i ]+j) << '\t';
}
cout << endl;
}
return 1;
}
これを
cout << *(data+(i*3)+j) << '\t';
にするとアドレスが表示になってしまいます。
1 2 3 が表示されそうな気がするのですが、何故でしょうか?
using namespace std;
int main(){
int data[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
cout << *(data[ i ]+j) << '\t';
}
cout << endl;
}
return 1;
}
これを
cout << *(data+(i*3)+j) << '\t';
にするとアドレスが表示になってしまいます。
1 2 3 が表示されそうな気がするのですが、何故でしょうか?