「C++プログラマのためのC言語入門」はいくつかに分割して進めていこうと考えています。具体的には、対象とするC++のバージョン、そしてC言語のバージョンによって分割することにします。まずは「C++98プログラマーのためのC89入門」からです。
対象とするC++プログラマー
「C++98プログラマーのためのC89入門」の読者は主にC++98を使っている方を対象とします。ただし、C++03もC++98とさほど大きな違いはありません(これらの違いが正確に分かるC++プログラマーは少ないと思います)ので、どちらも対象読者と考えています。
C言語のバージョン
C言語の歴史は古く、標準規格に限ってもいくつかのバージョンがあります。本来であれば、最新版の規格であるC17を対象とすべきかもしれません。しかし、最初は一番基本である最初の国際標準規格であるC89を対象にしたいと思います。C言語のバージョンについての詳細な情報は、当サイトの別の記事である「C言語再入門」の第1回 C言語とはを参照してください。
C++98の標準Cライブラリは、C95をベースにしています。C89とC95のちがいは、おおむねライブラリに関する内容だけです。すなわち、<iso646.h>, <wchar.h>および<wctype.h>
どの処理系を対象にするか
本連載では、特定の処理系に依存するのではなく、可能なかぎり一般的な内容にしたいと思います。ただし、具体例を挙げるために必要な場合には、特定処理系を採り上げる可能性はあります。その際は、都度どんな処理系を想定しているかを明記するようにします。
なお、特定の処理系には依存しないといっても、フリースタンディング環境かホスト環境かは区別しなければなりません。フリースタンディング環境というのは、C++でいうところの「自立処理系」の環境であり、ホスト環境というのは、C++でいうところの「依存処理系」の環境のことです。本連載では、特に指定がない場合はホスト環境を想定します。フリースタンディング環境については、それを解説する回を設けたいと思います。

![[C99] 第6回 プログラムの開始と終了](https://www.kijineko.co.jp/wp-content/uploads/2021/10/5181535_s-1.jpg)

![[C99] 第9回 リテラル](https://www.kijineko.co.jp/wp-content/uploads/2021/10/2362788_s.jpg)
![[C99] 第8回 構造体と共用体と列挙体](https://www.kijineko.co.jp/wp-content/uploads/2021/10/5182881_s.jpg)
![[C11] 第4回 (欠番)](https://www.kijineko.co.jp/wp-content/themes/keni8-child/images/no-image.jpg)
![[C99] 第1回 C++にあってC99にない機能](https://www.kijineko.co.jp/wp-content/uploads/2021/09/4472615_s-1.jpg)