すみません、C++ を前提にしていました。

#if XXX で現在はコンパイルされてない部分に同名の struct や classが
ある場合、メンバ変数名、メンバ関数名を変更した場合にどういう動作を
するかも気になります。

単に現在のコンパイル時に使われた宣言や定義の部分だけを修正するので
あれば、#if XXX になっていて、現在の設定ではコンパイル対象になって
無い場所は修正されないことになります。そうなった場合、XXX = 1 に
した場合には名前が合わなくなっておかしくなります。