はきだめC/C++下級者の質問箱

このエントリーをはてなブックマークに追加
263デフォルトの名無しさん
#include <iostream.h>
struct A {
int a;
};
struct B {
int b;
};

int main( void ) {
struct A *pa = new struct A;
struct B *pb;
pa->a = 10;
pb = (struct B*)pa; // pb には pa のアドレスが代入される
cout << &pa->a << endl;
cout << &pb->b << endl;
cout << pb->b; // それで問題のここ
}

pa のアドレスに b のメンバは無いのに、どうして 10 が代入されている…
のもなんですが、そもそもどうしてアクセスが出来るのかわからなくなりました