char c, h, moji; int i, j, seisu; double x, y, jisu;通常、これを変数と言う。変数というと、この単純型を示す場合が多いが、配列や構造体 を含める場合もあるから、文脈から適当に判断しなくてはならない。
これのイメージは、図3に示しているとおりで、変数とは数値を 入れる箱のようなものである。整数型と倍精度実数型の変数は、数学の変数と全く同じで ある。
図を見て分かるように、箱の大きさが型によって異なる。これは、一つのデータを表現す るために必要な情報量が異なるためである。情報量の単位は、ビット(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 | |||
unsigned long int | 4 | -2147483648 〜 2147483647 | |||
signed long int | 4 | 0 〜 4294967295 | |||
float | 4 | およそ 〜 | およそ 6桁 | ||
double | 8 | およそ 〜 | およそ 15桁 | ||
long double | 12 | およそ 〜 | およそ 18桁 |
配列を使う場合、
int i[10], j[100][100];のように宣言を行う。そうすると図のように、メモリー領域が確保され、 配列が使えるようになる。この配列のデータにアクセスするためには、配列名と添え字を 指定する。次のようにである。
i[3]=5; c=i[3];
最初のメンバーの規定は、つぎのように行う。
struct kouzoutai{ char name[8]; int seisu; double jisu; };これでは、メモリーがまだ確保されていないことに注意が必要である。これは、プログラ マーが新たに変数を定義したのと同じである。
そして、この構造体を実際に使う場合には、次のようにしてメモリーを確保する。
struct kouzoutai a, b[10];そうすると構造体変数が使用可能となる。この様子を、図
メモリーに確保された構造体のデータにアクセスするためには、ドット(.)演算子を 使うことになる。次のようにである。
a.seisu = 5; b[5].name[3]='a'; x = b[6].jisu;