データ構造 | 基本データ構造 | 基本データ型 | 単純型 | 整数型 |
実数型 | ||||
文字型 | ||||
論理型 | ||||
数え上げ型 | ||||
ポインタ型 | ||||
構造型 | 配列型 | |||
レコード型 | ||||
抽象データ型 | ||||
問題向きデータ構造 | 線形リスト | 単純リスト | ||
双リスト | ||||
環状リスト | ||||
木 | 二分木 | 完全二分木 | ||
二分探索木 | ||||
バランス木 | ||||
多分木 | ||||
バランス木 | AVL木 | |||
B木 | ||||
スタック | ||||
キュー |
char c, h, moji; int i, j, seisu; double x, y, jisu;通常,これを変数と言う.変数というと,この単純型を示す場合が多いが,配列や構造体 を含める場合もあるから,文脈から適当に判断しなくてはならない.
これのイメージは,図2に示しているとおりで,変数とは数値を 入れる箱のようなものである.整数型と倍精度実数型の変数は,数学の変数と全く同じで ある.
図を見て分かるように,箱の大きさが型によって異なる.これは,一つのデータを表現す るために必要な情報量が異なるためである.情報量の単位は,ビット(bit)が使われる.2 進数の1桁を1ビットと言う.8ビットで1バイトとなり,それがコンピューターで使われる 基本単位となる.
同じint型でもいろいろあり,表現できる範囲が異なっている.これは一つの変数の
情報量の差から生まれる.C言語で使われる型によって表現できる範囲を
2に示す.全てのC言語は同じとなっておらず,諸君が使っ
ているシステムではこの表のようになっている.いろいろな型があるが,ほとんどの場合,
char,int,doubleで十分である.諸君が作るプログラムでは,これらで
十分,間に合うが,問題が生じたときのみ他の型を使えば良い.
型 | バイト長 | 範囲 | 有効精度 | ||
char | 1 | -128〜127 | |||
signed char | 1 | -128〜127 | |||
unsigned char | 1 | 0〜255 | |||
short int | 2 | -32768 〜 32767 | |||
signed short int | 2 | -32768 〜 32767 | |||
unsigned short int | 2 | 0 〜 65535 | |||
int | 4 | -2147483648 〜 2147483647 | |||
signed int | 4 | -2147483648 〜 2147483647 | |||
unsigned int | 4 | 0 〜 4294967295 | |||
long int | 4 | -2147483648 〜 2147483647 | |||
signed long int | 4 | -2147483648 〜 2147483647 | |||
unsigned long int | 4 | 0 〜 4294967295 | |||
float | 4 | およそ 〜 | およそ 6桁 | ||
double | 8 | およそ 〜 | およそ 15桁 | ||
long double | 12 | およそ 〜 | およそ 18桁 |
配列を使う場合,
int i[10], j[100][100];のように宣言を行う.そうすると図3のように,メモリー領域が確保され, 配列が使えるようになる.この配列のデータにアクセスするためには,配列名と添え字を 指定する.次のようにである.
i[3]=5; c=i[3];
データの集まりということでは,配列と似ている.しかし,配列は同じ型のデータの集ま りであるが,構造体は異なる型3のデータの集まりであること に注意が必要である.使い方も全く異なる.