第0回 はじめに

今回から「C++プログラマのためのC言語入門」の連載を始めたいと思います。内容としては、C++では使えたけれども、C言語では使えない機能、細かな言語仕様のちがい、そして、C++ではこう書いたけれどもC言語ではこう書く、といったTipsにできればと考えています。コメントやメールで質問や感想をお寄せいただければ、何らかの形でフィードバックしたいと思いますので、よろしくお願いします。

C言語のどのバージョンを対象にするか

C言語の歴史は古く、標準規格に限ってもいくつかのバージョンがあります。本来であれば、最新版である現行規格(いわゆるC99)を対象とすべきかもしれませんが、実用的な観点から、もっとも広く普及している最初の国際標準規格であるC90を対象にしたいと思います。C言語のバージョンについての詳細な情報は、当サイトの別の記事である「C言語再入門」の第1回 C言語とはを参照してください。

C++における標準Cライブラリは、C95をベースにしています。C90とC95のちがいは、おおむねライブラリに関する内容だけです。すなわち、<iso646.h>, <wchar.h> および <wctype.h> の有無や printf 系関数で "%lc" や "%ls" がサポートされるかどうかといった点が異なります。

どの環境を対象にするか

本連載では、特定の環境に依存するのではなく、可能なかぎり一般的な内容にしたいと思います。ただし、具体例を挙げるために必要な場合には、特定環境を採り上げる可能性はあります。その場合は、都度どんな環境を想定しているかを明記するようにします。

なお、特定の環境には依存しないといっても、フリースタンディング環境かホスト環境かは区別しなければなりません。フリースタンディング環境というのは、C++でいうところの「自立処理系」の環境であり、ホスト環境というのは、C++でいうところの「依存処理系」の環境のことです。本連載では、特に指定がない場合はホスト環境を想定します。フリースタンディング環境については、それを解説する回を設けたいと思います。

この記事のトラックバックURL:

http://www.kijineko.co.jp/trackback/562
このエントリーを含むはてなブックマーク