>>7
レスありがとうございます!状況としてはマイコンの制御のためにコードを書いています。
具体的には以下の処理を行いたいです。
// 空行まで変数の宣言です。
struct bit {
 unsigned b0: 1;
 unsigned b1: 1;
 unsigned b2: 1;
 unsigned b3: 1;
 unsigned b4: 1;
 unsigned b5: 1;
 unsigned b6: 1;
 unsigned b7: 1;
};
union port {
 struct bit bit;
 unsigned char byte;
};
volatile union port *p2 = (union port *)0x00E4;
unsigned char sw2_before = 1, sw3_before = 1;

if(sw2_before == 0 && p1->bit.b7 == 1)
 p2->bit.b4 ^= 1;
if(sw3_before == 0 && p1->bit.b3 == 1)
 p2->bit.b5 ^= 1;
ですが、現状だとご覧のように同じようなコードが二回繰り返されているので
これを関数として抜き出したいんです。(空行以降の部分です。)