プログラミング初心者のための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言語の予約語
autoconstdoublefloatintshortstructunsigned
breakcontinuealseforlongsignedswitchvoid
casedefaultenumgotoregistersizeoftypedefvolatile
chardoexternifreturnstaticunionwhile

数字が先頭の文字になっているものや使用できる文字(英数字・アンダーバー)以外の文字は、使用できません。

【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をコピーしました