概論・演習で学ぶC++言語はC言語から発展した言語です。そのため概論・演習で学習する多くの内容はC言語でも通用します。ここではC言語をC++言語と比較して記します。
まずC++で作成したサンプルプログラムと、それに対応したCプログラムを示します。VisualC++でこのCプログラムをコンパイルするには、プロジェクトに追加するファイル名として「xxx.cpp」でなく、「xxx.c」と指定します。
基本的な文法はC++とCで共通です。C++はCに便利な機能を加えた言語ということで、Cにインクリメント演算子「++」を付けた名前となっています。Cのほとんどの機能はC++でも通用します。例えば上のCプログラムはC++として正しくコンパイル・実行することができます(逆に上のC++プログラムをCとしてコンパイルすることはできません)。
以下にC++では利用可能であるが、Cでは利用できない機能の主なものを列挙します。
C++言語 { int i=0; i++; int j=0; ←どこでも置ける j++; ... |
C言語 { int i=0; int j=0; ←Cでは実行文より前に置く i++; j++; ... |
C++言語 struct Sample{ int x; int y; }; Sample aa; Sample bb; |
C言語 struct Sample{ int x; int y; }; struct Sample aa; struct Sample bb; |
C言語(型定義利用) typedef struct Sample{ int x; int y; } Sample; Sample aa; Sample bb; |
C++言語(自己参照) struct Sample{ int x; int y; Sample *p; }; Sample aa; Sample bb; |
C言語(自己参照) struct Sample{ int x; int y; struct Sample *p; }; struct Sample aa; struct Sample bb; |
C言語(自己参照、型定義利用) typedef struct Sample{ int x; int y; struct Sample *p; }Sample; Sample aa; Sample bb; |