前回は、C言語の始め方と基本構造、コンパイルから実行までを解説 - 水瓶座列車で、
C言語の始め方や基本構造、プログラムのコンパイルや実行までを解説しました。
今回は、C言語のデータ型と変数、関数について解説していきたいと思います。
1.C言語のデータ型
データ型とは、扱うデータが文字なのか数字なのかなどを明示的に示すためのものです。
データ型には、下表のように様々あります。
データ型 | 型のサイズ | 説明 |
---|---|---|
char | 1バイト | 符号付整数。通常は文字コードを格納する。 |
short | 2バイト | 符号付整数 |
int | 4バイト | 符号付整数 |
long | 4バイト | 符号付整数 |
unsigned char | 1バイト | 符号なし整数 |
unsigned short | 2バイト | 符号なし整数 |
unsigned int | 4バイト | 符号なし整数 |
unsigned long | 4バイト | 符号なし整数 |
float | 4バイト | 単精度実数 |
double | 8バイト | 倍精度実数 |
void | 1バイト | 型なし |
char型は、符号付整数ですが基本的に文字コードを格納します。
プログラムを組む時に、必要なデータに対応しながらデータ型を決めていきます。
2.C言語の変数と型変換
データを扱うには変数に値を入れて、プログラム内で使用していきます。
使用するには、変数の宣言を行います。
宣言は、
int value;
char moji;
のように書きます。
宣言とは、「自分で決めた変数名に、この型で使用します。」ということをいいます。
変数名は、どのような名前でも構いません。
私の場合は、プログラムが長くなったときに、
変数の型をわざわざ宣言箇所まで戻って調べるのが面倒なので、
先ほどの例を書き直すと、
int iValue;
char cMoji;
という感じで変数名の前に型の先頭文字を付けるようにしています。
C言語で変数名に大文字を使用するのは、あまり見ないかもしれませんが、
C++やJavaでは、よく使用されますし、この方が変数名を見るだけで型がわかります。
注意が必要なのは、仕事でプログラムを書く際には、その現場のルールに合わせるようにしてください。
型変換とは、
float fValue;
fValue = (float)123;
のようにint型である123の前に(float)演算子を置くことで、
コンパイル時にエラーや警告が出なくなります。
そして型変換のことをキャストするともいいます。
この場合は、「float型にキャストする」になります。
3.C言語の関数
関数の宣言は、
int sample( int a, int b);
といったような感じです。
一番最初のintは、sample()関数の戻り値の型を表し、
()内にある「int a」や「int b」は引数と言って、関数に渡す値の型を表しています。
関数の簡単な使用例は、こんな感じです。
#include <stdio.h>
int sample(int, int); //<-- ここで関数宣言。
void main(){
int iRet = -1;
int iAValue = 5;
int iBValue = 7;
iRet = sample( iAValue, iBValue ); //<- あらかじめ設定した値を渡す。
printf("%d + %d = %d\n", iAValue, iBValue, iRet ); //<- 足し算の結果を表示する。
}
int sample(int aValue, int bValue){
int iAValue = aValue; //<- main()関数から渡された値を自身の変数に保存する。
int iBValue = bValue; //<- main()関数から渡された値を自身の変数に保存する。
int iRet = -1; //<- 戻り値の初期値としてマイナス値を入れておく。
iRet = iAValue + iBValue; //<- 例として渡された値を足し算して戻り値にセットする。
return iRet; //<- 呼び出し元のmain()関数へ値を返す。
}
関数の宣言は、main()関数より上にする必要があります。
また、関数の処理自体をまるごとmain()関数の上にもってくることで、
関数宣言を省略することができます。
main()関数から様々な関数へ処理を移していくことで、プログラムが動作していきます。
4.最後に
データ型のサイズは、覚えておいた方が良いです。
例えば組み込みの仕事でデバッグする際に、ICEという機材を使うのですが、
変数の値を見るために変数のサイズを設定する必要があります。
変数のサイズとは型のサイズのことで、
int型なら4バイトとすぐ言えるようにしておいた方が良いです。
<関連・おすすめ記事>
私がviエディタを好きになった理由とその使い方 - 水瓶座列車
C言語の始め方と基本構造、コンパイルから実行までを解説 - 水瓶座列車
C言語の繰り返し構文( while, do while, for )の解説と応用 - 水瓶座列車
プログラミングを独学で勉強するためのLinuxパソコン準備手順 - 水瓶座列車