どのプログラム言語にも変数というものが存在します。
これは、いったいどういうものであり、どういったときにどのような使い方をするのでしょうか?
また、変数の種類には何があるのでしょうか?
C言語の変数の定義から変数の使用方法を簡単に解説します。
扱い方を間違えるとどのようになるのかも、合わせて解説します。
変数のことで、困られている方必見です!
C言語の変数とは?
変数とは、プログラムで使用する文字や文字列、数字を格納するBOXです。
変数の種類にをデータ型と呼びます。
変数に文字を代入する場合には、文字タイプのデータ型(char)を使用します。
変数を使って計算をさせる場合には、数字タイプのデータ型(int,float,double)を使用します。
この4つのデータ型を基本データ型といいます。
基本データ型 | |||
---|---|---|---|
データ型 | 格納データ | サイズ | 値の範囲 |
char (character) | 文字 | 1バイト | -128~127 |
int (integer) | 整数 | 4バイト | -2147483648~2147483647 |
float | 単精度実数 | 4バイト | 1.175494351e-38~3.402823466e+38 |
double | 倍精度実数 | 8バイト | 2.2250738585072014e-308~1.7976931348623158e+308 |
プログラム内で使われる変数は、4つデータ型で定義されます。
また、基本データ型の範囲を超える整数値を使いたい場合に、修飾子というものがあります。
short(小さい値を使うとき)・long(大きい値を使うとき)・signed(符号付の値を使うとき)・unsigne(符号なしの値を使うとき)があります。
修飾子をつけた変数宣言 | 値の範囲 |
---|---|
unsigned char a; | 0~255 |
unsigned int a; | 0~4294967295 |
short int a; | -32768~32767 |
long int a; | -2147483648~2147483647 |
C言語の変数定義
プログラム内で使われる変数には、変数名を定めます。
アルファベット1文字でもかまいません。
ただし、変数名にはルールがあります。
C言語にあらかじめ使われ方が定められている語(予約語)は、使用できません。
C言語の予約語 | |||||||
---|---|---|---|---|---|---|---|
auto | const | double | float | int | short | struct | unsigned |
break | continue | alse | for | long | signed | switch | void |
case | default | enum | goto | register | sizeof | typedef | volatile |
char | do | extern | if | return | static | union | while |
数字が先頭の文字になっているものや使用できる文字(英数字・アンダーバー)以外の文字は、使用できません。
【NG】数字から始まっている
1abc, 12, 1_a
【NG】 英数字・アンダーバー以外の文字
a-1, a.b, a*b
プログラム内での定義は、以下のようになります。
C言語の変数 使い方は?
char型の変数に1文字を代入し、表示させるプログラムです。
実行結果は、標準出力(ディスプレイ等)に「a」が表示されます。
また、文字列の連結でも使用されます。
実行結果は、「Hello World!」と連結されて表示されます。
C言語の変数 使い方を間違えるとどうなる?
前述の1文字出力を例にします。
変数「 moji 」を整数型で宣言し、そこに数値を代入します。
関数の「 putchar 」は、ASCII文字コードの値を出力するので、代入された数値に対応する文字を表示します。
例えば、「moji」に数字の「9」を代入します。
「putchar」で「moji」の中身を出力すると、「 水平タブ 」が出力されます。
このように思った値が表示されないという現象が起きます。
コンパイルは、なにごともなくうまくいきますが、実行結果は当てにはなりません。
その他の変数定義
型の別名宣言
修飾子を付けた型宣言の場合、宣言文の記述が長くなり、読みにくくなったり記述に誤りが発生したりします。
このような場合は、typedefで型宣言を短い別名にして宣言することができます。
【宣言方法】
typedef データ型 別の名前;
列挙型宣言
0,1,2,3,4,5・・・・・といった値に、名前(定数名)を付けて使うように宣言することができます。
これを列挙(enum)型と呼びます。
【宣言方法】
enum タグ名{
定数名1,
定数名2,
・
・
・
};
C言語の変数 まとめ
C言語の変数について解説をしました。
C言語では、基本データ型を使用してプログラミングをします。
変数を定義することは、実際のプログラミングでの重要なポイントとなります。
プログラムの仕上がりぐあいも、変数の定義で雲泥の差が出ます。
丁寧なプログラミングを目指すのであれば、まず、変数名や型を小まめに設計することではないでしょうか。
コメント