[迷信] FILE型は構造体 更新日:2021年6月7日 公開日:2021年6月4日 C/C++迷信集プログラミング技術情報 今回は、C言語でファイル操作によく使うFILE型に関する迷信です。FILE型と書きましたが、このように呼ぶ人は世間では意外に少なく、多くの人はFILE構造体と呼びます。では、FILE型は常に構造体であると考えてよいのでし […] 続きを読む
[迷信] 2の累乗による割り算と右シフトは等価 公開日:2021年6月3日 C/C++迷信集プログラミング技術情報 多くの場合、実際に試してみればすぐに分かることですが,2nによる割り算と右シフトは、常に等価になるとは限りません。しかし、この問題は規格上処理系定義の要素が複雑に絡み合っているため、注意深く考えないと全体像をとらえること […] 続きを読む
[迷信] freeにNULLを渡すとクラッシュする 公開日:2021年6月3日 C/C++迷信集プログラミング技術情報 まずは次のコードをご覧ください。 [crayon-676e17531746b029268082/] 上のコードを見て何の違和感も感じないようであれば、あなたは迷信にとらわれている可能性があります。論より証拠ですので、JI […] 続きを読む
[迷信] 実数型とは浮動小数点型のことである 公開日:2021年6月2日 C/C++迷信集プログラミング技術情報 C言語やC++の入門書や入門サイトの多くは、float型やdouble型などの浮動小数点型を、整数ではなく「実数」を表現するための型として紹介しています。そして、これら浮動小数点型のことを「実数型」と呼んでいることも少な […] 続きを読む
[迷信] argv[0]はプログラム名 更新日:2021年6月15日 公開日:2021年6月2日 C/C++迷信集プログラミング技術情報 main関数がargcとargvの2つの仮引数を受け取る場合、argv[0]がプログラム名を表す文字列を指すというのは入門書にも載っています。しかし、常にそうかというと、実はそうではありません。今回はフリースタンディング […] 続きを読む
[迷信] absは常に非負の値を返す 公開日:2021年6月1日 C/C++迷信集プログラミング技術情報 abs関数というのは絶対値を求める関数です。C言語ではint型の引数を受け取りint型の値を返します。C++では、int版以外に、long版、float版、double版、long double版、std::comple […] 続きを読む
[迷信] ‘A’~’Z’の値は連続している 公開日:2021年5月31日 C/C++迷信集プログラミング技術情報 今回はソースコードから見ていくことにしましょう。 [crayon-676e17531757b574878807/] やろうとしていることは簡単です。標準入力から1文字読み込み、アルファベットの大文字であれば小文字に変換し […] 続きを読む
[迷信] 1バイトは8ビット 公開日:2021年5月30日 C/C++迷信集プログラミング技術情報 最近の大多数のコンピュータは、アドレスを8ビットごとに振っています。また、ASCIIコードが7ビットということもあり、それに符号ビットを付加した8ビットが文字データの単位として扱われています。 そういった事情もあってか、 […] 続きを読む
[迷信] 0xe-0xeはゼロ 公開日:2021年5月30日 C/C++迷信集プログラミング技術情報 今回はかなり難しい話です。まずは、次のコードをご覧ください。 [crayon-676e17531767e378412102/] このプログラムをコンパイルし実行すると、出力されるのは”A”でしょう […] 続きを読む
[迷信] double の出力書式は”%lf” 公開日:2021年5月30日 C/C++迷信集プログラミング技術情報 この迷信ないしは事実誤認はあまりにも根が深く、あまりにも多くのプログラマが間違いを犯し続けていました。遂には標準規格の方が折れて、迷信を追認することになったという”暗い歴史”があります。 prin […] 続きを読む