[TOP/ルール] [目次] [最新の80件] [人気の80件]
void func(void) { int i; int *p = &i; i = 1; /* コンパイラはこの代入文でSSを使うようにコンパイルする */ *p = 2; /* pにはiの番地が入っているので、iはこれで2になるはず */ /* ↑コンパイラはこの代入文でDSを使うようにコンパイルする */ if (i == 1) { 処理A } else { 処理B } return; } /* SSとDSが等しいセグメントをさす場合は、正常にiが2になるので、処理Bが実行される */ /* SSとDSが等しいセグメントをささない場合は、iが1のままになるので、処理Aが実行されてしまう */