e5773.c

1バイトmemcpy

/* C:e5773: 1バイトの memcpy は関数を使うより式を直接記述した方が良いかもしれません */

修正前 void v(char* c1, char* c2) { memcpy(c1, c2, 1); /* ←無駄 */ } 修正後 void v2(char* c1, char* c2) { *c1 = *c2; }
解説 1バイトコピーするだけなら関数を呼ぶより直接代入した方が速い。 (コンパイラによっては最適化によりどちらも同じコードが生成され、速度が変わらない場合もあります)