はじめに
ちょっと理解に苦労したし、必要であるので、記入したいともいます。それではいってみましょう。
プログラムの記述において、言語規格で規定している文字以外の文字を使用する場合、コンパイラの仕様を確認し、その使い方を規定する。
言語規格において、ソースコードで使用できる文字
言語規格において、ソースコードで使用できる文字として最低限定義しているのは、アルファベットの大文字と小文字、数字、図形文字(!” # % & ‘ ()*+,-./;:,=>?[\]^_{|}~)、空白文字、水平タブ、垂直タブ、および書式送りを表示する制御文字である。ただし、これらの図形文字の一部は国ごとにバリエーションがあるので処理系に依存し、解釈が正しく行われない可能性がある。
識別子や文字の使い方を下記に示す。
識別子や文字に国際文字名や多バイト文字(日本語など)が使用できるが、サポートしていない処理系もあり、それらを使用する場合には、以下の場所に使用できるかを確認し、その使い方を規定する。
・識別子
・コメント
・文字列リテラル
・文字列の文字コード中に「¥」が存在した場合の処理(特別な配慮が必要か、コンパイル時のオプション指定が必要か、など)
・ワイド文字列リテラルで(L”文字列”のように接頭語Lを付けて)記述する必要 性
・char16_t型文字列リテラルで(u”文字列”のように接頭語uを付けて)記述する必要性(C11の場合)
・char32_t型文字列リテラル(U”文字列”のように接頭語Uを付けて)記述する必要性(C11の場合)
・文字定数
・その文字定数のビット長
・文字定数の文字コード中に「¥」が存在した場合の処理(特別な配慮が必要か、コンパイル時のオプション指定が必要か、など)
・ワイド文字定数で(L’あ’のように接頭語Lを付けて)記述する必要性
・char16_t型文字列リテラルで(u’あ’のように接頭語uを付けて)記述する必要性(C11の場合)
・char32_t型文字列リテラル(U’あ’のように接頭語Uを付けて)記述する必要性(C11の場合)
・#includeのファイル名
文字の使い方規定例
以下のようなルールを規定する。
・識別子には、英数字と下線だけを使用する。
・コメントに日本語を使用してもよい。使用する日本語のコードは、UTFー8とする。半角カナは使用しない。
・文字列、文字定数、#includeのファイル名には日本語を使用しない。
上記文字の使い方規定例の解説
近年、多くの処理系が日本語も含めた多バイトの文字コードにUnicode(ユニコード)で対応するようになっている。日本では、これまで日本語の文字の表現にShift_JIS(シフトJIS)がよく使用されてきたが、オープン系の開発などではUTFー8の採用が進みつつある。
さいごに
いかがでしたか?コーディングルールが用意されていると思うのですが、そちらには、どんな文字が使えるか書かれていると思います。実はそれはこのように規定を規定するルールがあるんですね。それを思って開発をしていきましょう。では、
コメント