【C言語】型のまとめ
型とは何か
大雑把に説明するのであれば 「データの種類」 のことです。
例えば、「a」であれば文字型、「1」であれば整数型、「0.25」であれば浮動小数点型といったようにデータの形式によって呼び方が異なります。
以下、少し詳しく書きますが読み飛ばしても問題ないです。
「型」は「データ型」と呼ばれることもあります。基本的には同じ型であれば同じ操作が可能です。
(例) 1 + 2 や 3 + 2 という式を考えてみます。 1, 2, 3 は同じ整数型なので同じ演算(操作) '+' をすることができます。 また、'a' や 'x' は同じ文字型なので 例えば 'a' + 1, 'x' + 1 で次の文字を得ることができます。
データ型と呼ばれることからも分かるように、メモリなどの記憶装置上のデータをどのように読むべきかを示しています。また、プログラムで扱われているデータの形式をコンパイラやインタプリタなどに伝えることで型検査が行われます。これによって、プログラムがメモリ上などに存在するデータを不正に書き換えないように前もって検査することができます。
型の種類
C言語における型の種類は以下の通りです。
種類 | 型名 | バイト数 | 値の範囲 |
---|---|---|---|
型無し | void | ― | ― |
整数型 | short | 2 | -32768 ~ 32767 |
int | 2 or 41) | -32768 ~ 32767 or -2147483648 ~ 21474836471) | |
long | 4 | -2147483648 ~ 2147483647 | |
long long | 8 | -9223372036854775808 ~ 9223372036854775807 | |
unsigned short | 2 | 0 ~ 65535 | |
unsigned int | 2 or 41) | 0 ~ 65535 or 0 ~ 42949672951) | |
unsigned long | 4 | 0 ~ 4294967295 | |
unsigned long long | 8 | 0 ~ 18446744073709551615 | |
浮動小数点数型 | float | 4 | 約 ~ 約 |
double | 8 | 約 ~ 約 | |
文字型 | char | 1 | 0 ~ 255 |
signed char | 1 | -128 ~ 127 |
実際の使い方
それでは、実際に型をどのように使うのか簡単な例を挙げてみます。コピペして実行するとcd
と表示されるはずです。実行する環境がない人は適当に無料のrepl.itでも使ってみてください。下記の記事に登録方法等を"ざっくりと"書いてあるので、分からなければご覧ください。
#include <stdio.h> int main(void) { char x = 'c'; printf("%c%c\n", x, x+1); return 0; }
関数の宣言
まず、int main(void) { }
の部分についてです。関数を宣言するには戻り値型 関数名(引数型 引数名){ 処理 }
のように書きます。今回のmain関数は正常に終了したときにreturn 0
されるので、戻り値は整数型intの0です。したがって、「戻り値型」としてint
を指定しています。また、今回のmain関数は引数がない(つまり型無し)なので「引数型 引数名」の部分はvoid
となっています。もし、fという関数が型をfloat、名前をxとして引数を受け取り、戻り値の型を整数型long longにするのであれば、long long f(float x) { }
のように書きます。
変数の宣言
次に、char x = 'c';
の部分です。変数を宣言するには型 変数名;
のように書きます。もし、宣言時に変数の中身を初期化したいのであれば、型 変数名 = 初期化時の値;
と書きます。今回は後者の方を使っています。具体的には、文字型charを内部に格納する変数xを宣言しており、初期値として'c'が代入されています。もし、整数型unsigned shortを内部に格納する変数numberを宣言したいのであれば、unsigned short number;
のように書きます。