見えない文字
ソースコードには実際に命令文として認識される文字とそうでないものがあります。
この章ではその中でも文字として見ることの出来ないものについて解説します。
これらはエディタ上では見えないだけで、文字コードも定義されていてデータ上では存在しています。
空白
スペースキーで挿入できる文字です。
C言語を始め、多くのプログラミング言語では空白は無視されます。
すなわち、以下の2つの文は同値です。
a=b+c;
a = b + c ;
ただし、必ず空白が必要な文もあります。
以下はその一例です。
必要な文 | 例文 |
変数、配列、構造体、関数の宣言時の型名と変数名の間 | int a; |
型修飾子と型名の間 | const char c; |
define文、定義名、値の間 | #define MAX 32 |
return文と返り値の間 | return 0; |
これらはdefine文以外は空白ではなくインデントや改行でも代用可能です。
インデント
多くのテキストエディタはTabキーで挿入可能です。エディタごとの設定によって空白4つ分や8つ分などと決められています。
プログラミング言語をサポートしているテキストエディタだと自動で入るものが多いです。
ソースコードのネスト(階層の深さ)をわかりやすくすることができます。
文字の開始位置を揃えるのにも使います。
これも空白同様に文法上無視されますが、文法的にインデントが必要なものはありません。
改行
Enterキーで使えます。
C言語の命令は';(セミコロン)'単位で読み出されますが、言語によっては1行1命令と決まっているものもあります。
ただし'#'から始まるinclude文やdefine文などは1行1命令です。1行に2文書くことはできませんので注意してください。
ルールを決める
これらはプログラムの動作には関係がないからといって全く必要ないということはありません。
ソースコードの可読性を高めるのにはこれらの文字が必須です。
ただし、使用する場合はルールを決め、そのルールで統一しましょう。
例えば項と演算子の間には空白を入れる、一連の命令の後には改行を入れるなどです。
様々な書き方が混在しているとむしろわかりにくくなるので注意が必要です。