C言語変数・定数・リテラル完全ガイド
C言語変数、定数、リテラル
このチュートリアルでは、C言語の変数の基礎、命名規約、リテラルの種類、信頼性の高いコードのための定数宣言をカバーします。
C言語における変数
変数はデータを保持する名前付きストレージ領域です。各変数はメモリアドレスを表す一意の識別子を持たなければなりません。
int playerScore = 95;
識別子playerScoreはint値の95を格納します。変数は変更可能で、実行中に値を変更できます。
char ch = 'a'; // 後でコード内で
ch = 'l';
変数命名規則
- 使用可能文字:英字(A-Z、a-z)、数字(0-9)、アンダースコア。
- 最初の文字は英字またはアンダースコアでなければなりません。
- 言語仕様上は長さ無制限ですが、一部のコンパイラでは31文字以上を切り捨てます。
ヒント: 可読性と保守性のため、fnではなくfirstNameのような説明的な名前を使いましょう。
Cは強く型付けされた言語です。一度宣言すると、変数のデータ型を変更できません。
int number = 5; // 整数
number = 5.5; // エラー
double number; // エラー - 異なる型で再宣言
小数値を格納するには、変数をfloatまたはdoubleで宣言してください。データ型の詳細はデータ型ガイドを参照してください。
リテラル
リテラルはソースコードに直接記述される固定値です。実行時に変更できません。
整数リテラル
Cは3つの整数リテラル基数をサポートします:
- 10進数(基数10)
- 8進数(基数8) - 0で始まる
- 16進数(基数16) - 0xで始まる
10進数: 0, -9, 22
8進数: 021, 077, 033
16進数: 0x7f, 0x2a, 0x521
浮動小数点リテラル
小数部分または指数部を含みます:
-2.0 0.0000234 -0.22E-5
注意: E-5は10-5を意味します。
文字リテラル
シングルクォートで囲まれた単一の文字:
'a', 'm', 'F', '2', '}'
エスケープシーケンス
直接入力できない文字をバックスラッシュで表現します:
| エスケープシーケンス | 意味 |
|---|---|
\b | バックスペース |
\f | フォームフィード |
\n | 改行 |
\r | キャリッジリターン |
\t | 水平タブ |
\v | 垂直タブ |
\\ | バックスラッシュ |
\' | シングルクォート |
\" | ダブルクォート |
\? | クエスチョンマーク |
\0 | ヌル文字 |
例:\nは改行を挿入します。
文字列リテラル
ダブルクォートで囲まれた文字の並び:
"good" // 文字列定数
"" // 空文字列
" " // 6つのスペースの文字列
"x" // 1文字の文字列
"Earth is round\n" // 改行付きで出力
定数
constキーワードで不変値を宣言します:
const double PI = 3.14;
PI = 2.9; // コンパイルエラー
または、プリプロセッサディレクティブ#defineで定数を定義します。マクロについてはCマクロチュートリアルを参照してください。
C言語