C言語のsizeof演算子についてメモ。
きっかけは、ソースレビューをやってた人から「これって何でしょう?」と質問された「sizeof(4)」。
memcpyだかmemsetだかで4バイトを指定する(つもり)で使われていたらしい。
確かにintが32bitの環境ならそれで動くだろうけどねぇ。あくまで偶然でしょ。単体テストも通っちゃうわけで、怖ろしい。sizeof(1)だってsizeof(9999)だって4だから、それを試していれば発覚したかもしれないけど…。
ところで逆に、sizeof(4)を使う正当な場面が思い付かない。
プログラムコンテストくらいかな(爆)