libro
www.tuyano.com
Objective-C初心者のためのC言語超入門

main関数と値・変数 (3/4)

作成:2011-01-31 19:27
更新:2011-01-31 19:27

■変数と値のタイプ

さて、今のサンプルでは、テキストは「"Hello"」というように前と後ろに"記号をつけて書いていました。数字は、そのまま「123」という具合に数字だけ書いていましたね。こんな具合に、C言語では、値にはいくつもの「種類」があり、種類によって使い方が違っています。プログラミングを開始するには、まず「値の種類」について覚えないといけません。

この「値の種類」は、ただ値を使うだけでなく、「変数」を利用するようになると、特に重要になってきます。――「変数」というのは、「値を保管しておくことのできるメモリ上の領域」のことです。というと難しそうですが、要するに「あたいを保管する入れ物」ですね。プログラミングでは、必要な値は変数に入れて保管しておき、この変数どうしを計算したりしていくわけです。

この変数は、作るときに「どういう種類の値を保管するものか」というのをきちんと指定しないといけません。この「値の種類」のことを、一般に「」とか「タイプ」といいます。変数を使うときは、「このタイプの値を収める変数」というように、タイプと変数の名前をきっちりと書かないといけないのです。――というわけで、まずは「変数のタイプ」についてざっと頭に入れておきましょう。

・整数のタイプ
数字の値は「整数」と「実数」に分かれています。整数の値は、「int」「short int」「long int」……という具合にたくさんのものが用意されています。それぞれのタイプの違いは、「値が使える範囲」と「マイナスの値が使えるかどうか」です。

コンピュータの世界では、どんな値もメモリの中にデータを記述して扱います。ということは、大きな値になると、それだけ必要になるメモリの量が大きくなるということになります(123と、1234567890だと、123のほうがメモリは少なくてすみそうでしょ?)。

そこでC言語では、「あたいを保管するメモリ量」によって何種類かのタイプを用意しているのです。一番小さいのは「short int」というもので16bitのメモリを使います。一番大きいのは「long int」というもので64bitのメモリを使います(ただし、64bitコンピュータの場合ね)。

普通、整数の値として一番良く使うのは「int」というタイプです。これが「整数の基本」と考えていいでしょう。それ以外は、今は忘れていいです。

・実数のタイプ
実数も、使用するメモリサイズによって「float」「double」「long double」と種類があります。これも、一番良く使うのは「float」あたりでしょう。実数は、整数と違って、使用するメモリサイズによって「利用出来る数字の範囲」が変わるわけではありません。変わるのは「精度」です。

実数は、コンピュータの世界では「◯◯×10の△乘」というような形で記憶されます。この「◯◯の〜」の部分の桁数が多ければ多いほど、扱う値の精度が高くなるわけです。なので、あまり桁数の大きい値や、小数点以下の桁数が多い値になると、途中から値が消えてしまって「だいたいいくつ」という表現しかできなくなったりします。

まぁ、実数で「ものすごく精度が気になる処理」とかをするようになれば別ですが、とりあえずは実数は「そんなのがある」程度に覚えておけば十分でしょう。

・文字のタイプ
文字型は「1文字だけ保管するもの」です。つまり、「Hello」なら、5文字ですから、5つの文字型の変数にわけて保管したりするわけですね。これは「char」というタイプとして用意されています。この文字型の値は、「'」という記号(シングルクォート)で文字の前後をくくって書きます。 'A' みたいな感じです。

・テキストのタイプ……?
テキストは、既に登場しました。前後を「"」(ダブルクォート)でくくって、 "Hello" というようにして書くのでした。では、タイプは? 実は、「ない」のです! C言語には、テキストを扱うためのタイプは用意されていません。

それじゃどうするのかというと、文字のchar型をうまく利用してテキストを保管します。これについては、「配列」とか「ポインタ」とかいうものを理解しないといけません。今のところは、「テキストはタイプがない。値をそのまま書いて利用するだけ」と考えておいてください。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「Objective-C初心者のためのC言語超入門」に戻る