#include <iostream.h>

void main (void)
{
struct hoge{
long a;
char* p;
};

struct hoge* abc;
long work[2];

abc = (hoge*)work;
abc->a = 10;
abc->p = "a";

cout << work[0] << '\n';
cout << (char*)work[1] << '\n';
}
このプログラムに、文法的に危険、又は致命的な部分はありますでしょうか?
work[1]にアドレス数値入れたりして危険な香りがぷんぷんするのですが、一応動いているので
問題なければ使用していこうと思っているのですが・・・