C言語で気になっていた単語の読み方についてメモ。
ついでにメモリーとメモリ論争(?)についてもちょっと修正。
C言語のsizeof演算子についてメモ。
きっかけは、ソースレビューをやってた人から「これって何でしょう?」と質問された「sizeof(4)」。
memcpyだかmemsetだかで4バイトを指定する(つもり)で使われていたらしい。
確かにintが32bitの環境ならそれで動くだろうけどねぇ。あくまで偶然でしょ。単体テストも通っちゃうわけで、怖ろしい。sizeof(1)だってsizeof(9999)だって4だから、それを試していれば発覚したかもしれないけど…。
ところで逆に、sizeof(4)を使う正当な場面が思い付かない。
プログラムコンテストくらいかな(爆)
C言語のプリプロセッサ命令、大好きだ。Javaは不便だ。
なんと言っても構造体の初期化に使えるのが素晴らしい。
まぁJavaではそういう初期化自体、あまりしないような気もするけど…。
あとはループ処理なんかが出来ればバッチリなんだけどなー(笑)
前にstrtok()について書いたときに、realloc()の使い方にちょっと注意しなきゃいけないなーと思ったので、malloc()系の関数についてのメモを書いてみた。
(ついでにstrtok()は独立したページに移した)
と言いつつ、実は「malloc」の呼び方について書いておきたかっただけだったりして。
「マロック」って呼び方は変ですぜー親分。
「char」も自分は「キャラ」や「キャラクター」と読む。「チャー」は…馴染まない(苦笑)
C言語で、JavaのString#split()みたいに“カンマ区切りの文字列”をカンマで分割したいなーと思ったんだけど、strtok()くらいしか無いみたいで。
メモリの解放やエラー処理まで考えると、なんと面倒な関数であることか!(苦笑)
しかもこれMTセーフじゃないしな。
ほんとはプログラミング言語比較のページにちょろっと書くだけにしたかったんだけど、とても入り切らないのでC言語のページに書いてみた。