[C99] 第0回 はじめに 更新日:2021年10月12日 公開日:2021年9月28日 C++プログラマーのためのC言語入門プログラミング 今回から「C++98プログラマーのためのC99入門」の連載を始めます。C言語にはいくつかのバージョンがありますが、本編で扱っているのはそのうちのC90です。この連載では、C言語の第2版にあたる規格であるC99を扱うことに […] 続きを読む
C++98プログラマーのためのC99入門 更新日:2021年10月11日 公開日:2021年9月27日 C++プログラマーのためのC言語入門プログラミング技術情報 「C++98プログラマーのためのC89入門」では、C89にしぼった解説を行っています。しかし、C言語は何度かバージョンアップしており、新しいバージョンを無視したまま放置するわけにもいきません。そこで、引き続き「C++98 […] 続きを読む
第13回 フリースタンディング環境 更新日:2021年10月10日 公開日:2021年9月26日 C++プログラマーのためのC言語入門プログラミング技術情報 フリースタンディング環境というのは、C++でいう自立処理系の環境のことです。C++の場合と同様、オペレーティングシステムの支援無しに動作する環境であり、一部のヘッダを除き、標準ライブラリは一切サポートされません。また、プ […] 続きを読む
第12回 標準Cライブラリ 公開日:2021年9月25日 C++プログラマーのためのC言語入門プログラミング技術情報 C言語(C89)ではC++(C++98)の標準ライブラリのうち、当然のことながら標準Cライブラリに当たる部分しかサポートされません。しかし、標準Cライブラリの範疇でも若干のちがいがあります。 std名前空間 C++の標準 […] 続きを読む
第11回 その他、細部のちがい 公開日:2021年9月24日 C++プログラマーのためのC言語入門プログラミング技術情報 ここでは、他の回で採り上げなかったC++(C++98)とC言語(C89)の細かなちがいについて解説します。 可変個の実引数を取る関数の仮引数並び C++では、printf 関数のような可変個の実引数を受け取る関数の仮引数 […] 続きを読む
第10回 メモリの動的割付け 公開日:2021年9月23日 C++プログラマーのためのC言語入門プログラミング技術情報 メモリの動的割付け、あるいはオブジェクトの動的生成の方法は、C++とC言語では大きく異なります。 newおよびdelete演算子はない C++でオブジェクトの動的生成と解体に使っていたnew演算子とdelete演算子は、 […] 続きを読む
第9回 文字定数と文字列リテラル 公開日:2021年9月22日 C++プログラマーのためのC言語入門プログラミング技術情報 文字定数と文字列リテラルについても、C++とC言語では微妙なちがいがあります。また、C++では「文字リテラル」といいますが、C言語では「文字定数」という用語が使われています。 文字定数 C++の文字リテラルはchar型で […] 続きを読む
第8回 構造体と共用体と列挙体 公開日:2021年9月21日 C++プログラマーのためのC言語入門プログラミング技術情報 C言語にクラスはありませんが、構造体と共用体ならあります。また、C++と同様、列挙体も使うことができます。 タグ名だけで型名にならない C++ではクラスや列挙体のタグ名だけで型名になりましたが、C言語では明示的にstru […] 続きを読む
第7回 修飾子と記憶クラス指定子 公開日:2021年9月20日 C++プログラマーのためのC言語入門プログラミング技術情報 C言語(C89)にもC++(C98)と同じ修飾子(constおよびvolatile)や記憶クラス指定子(extern, static, auto, register, および typedef)が備わっています。ただし、m […] 続きを読む
第6回 プログラムの開始と終了 公開日:2021年9月19日 C++プログラマーのためのC言語入門プログラミング技術情報 C言語におけるプログラムの開始と終了の仕様は、C++とくらべるとずっと単純です。これは主として、C言語にはコンストラクタやデストラクタを持つオブジェクトが存在しないからです。 プログラムの開始 プログラムの開始時には、C […] 続きを読む