間違えて途中で書き込んでしまいました・・・。

struct Map{
  int x;
  int y;
};

int main(void)
{
  //1バイト列のデータ確保して
  char Buf[100]; 

  //Map型のポインタでアドレス計算してバイト列にアクセス
  Map* pMap = (Map*)Buf; 
  for(int i=0; i<... ;i++)
  {  
    pMap[i].x = 5;
    pMap[i].y = 10;
  }
  return 0;
}

とやってもよろしいものでしょうか?
もちろん確保した領域を超えてアクセスしないように考慮しますが。
Win⇔Linuxの通信に使います。