質問: 16;
回答: 「|」演算子は「ビットごとの論理和」です。ここでは,モード指定に使われています。 ですから,たとえば,記号定数 a が 0x01,b が 0x02,c が 0x04,d が 0x08 としましょう。 このとき,a | c は 0x05 となって,下から 1 ビットめと 3 ビットめが 1 になります。同様に,b | c | d は 0x0e となります。 お示しのコードでは,それぞれの記号定数に上述のような値が割り当てられていて,その組み合わせでモードを指定し,構造体のメンバに代入しています。