プログラミング初心者のためのC言語 変数編!

プログラム言語

どのプログラム言語にも変数というものが存在します。

これは、いったいどういうものであり、どういったときにどのような使い方をするのでしょうか?
また、変数の種類には何があるのでしょうか?

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文字を代入し、表示させるプログラムです。

1文字出力

実行結果は、標準出力(ディスプレイ等)に「a」が表示されます。

出力結果

また、文字列の連結でも使用されます。

文字列の連結

実行結果は、「Hello World!」と連結されて表示されます。

出力結果

C言語の変数 使い方を間違えるとどうなる?

DSC_0479

前述の1文字出力を例にします。

変数「 moji 」を整数型で宣言し、そこに数値を代入します。
関数の「 putchar 」は、ASCII文字コードの値を出力するので、代入された数値に対応する文字を表示します。

例えば、「moji」に数字の「9」を代入します。
「putchar」で「moji」の中身を出力すると、「 水平タブ 」が出力されます。

このように思った値が表示されないという現象が起きます。
コンパイルは、なにごともなくうまくいきますが、実行結果は当てにはなりません。

その他の変数定義

型の別名宣言

修飾子を付けた型宣言の場合、宣言文の記述が長くなり、読みにくくなったり記述に誤りが発生したりします。

このような場合は、typedefで型宣言を短い別名にして宣言することができます。

【宣言方法】
typedef データ型 別の名前;

typedef宣言のコーディング例

列挙型宣言

0,1,2,3,4,5・・・・・といった値に、名前(定数名)を付けて使うように宣言することができます。
これを列挙(enum)型と呼びます。

【宣言方法】
enum タグ名{
定数名1,
定数名2,



};

列挙型宣言のコーディング例

C言語の変数 まとめ

C言語の変数について解説をしました。
C言語では、基本データ型を使用してプログラミングをします。

変数を定義することは、実際のプログラミングでの重要なポイントとなります。
プログラムの仕上がりぐあいも、変数の定義で雲泥の差が出ます。

丁寧なプログラミングを目指すのであれば、まず、変数名や型を小まめに設計することではないでしょうか。

コメント

タイトルとURLをコピーしました