C言語 | C言語入門 | 変数とデータ型
変数は、入力値や計算結果を再利用するために一時的に保存する。
変数の宣言と初期化
変数は、メモリ上の記憶領域に名前を付けたものである。コンパイラーは識別子をアドレスへ対応付け、型に応じて領域を確保する。
型 変数1, 変数2, ...;
識別子には英字、数字、アンダースコアを使える。ただし、数字から始めることはできず、予約済みのキーワードも使えない。C言語の識別子は大文字と小文字を区別する。
基本的な型指定子
| 型 | 説明 |
|---|---|
char |
1バイト |
int |
対象システムに適した整数型 |
float |
単精度浮動小数点数 |
double |
倍精度浮動小数点数 |
char 以外の正確なサイズは処理系に依存する。サイズが重要な場合は、コンパイラーの資料や sizeof を確認する。
= で値を代入するか、宣言時に初期化する。
int iVariable1 , iVariable2;
iVariable1 = 10;
int iVariable3 = 100;
初期化していないローカル変数の値は不定である。
コード1
#include <stdio.h>
int main() {
int iVariable1 = 10 , iVariable2;
iVariable2 = 100;
return 0;
}
書式指定子
printf() では % で始まる書式指定子を使う。
| 書式 | 引数型 | 出力 |
|---|---|---|
%d, %i |
int |
10進整数 |
%x, %X |
unsigned int |
16進整数 |
%c |
int |
文字 |
%s |
char * |
文字列 |
%f |
double |
浮動小数点数 |
%e, %E |
double |
指数表記 |
%g, %G |
double |
短い浮動小数点表記 |
%% |
なし | パーセント記号 |
コード2
#include <stdio.h>
int main() {
int iVariable = 10;
printf("iVariable = %d\n" , iVariable);
return 0;
}
型指定子の組み合わせ
追加の指定子で型の範囲や特性を調整できる。
| 型 | 説明 |
|---|---|
short int |
int 以下の幅 |
long int |
int 以上の幅 |
long double |
double 以上の幅 |
符号付きの値には signed、負の範囲が不要な値には unsigned を使う。
コード3
#include <stdio.h>
int main() {
signed char chVariable = -1;
unsigned char uchVariable = 255;
printf("chVariable = %d\nuchVariable = %d\n" , chVariable , uchVariable);
return 0;
}
符号なし整数への変換は型の範囲を法として定義される。表現可能範囲を超えた符号付き型への変換は処理系に依存する。