第1講:肩…もとい、型と型の宣言の方法

師匠 :君達かね…私のところに弟子入りしたいと言っていた者は……。
弟子A:はい! 師匠にC言語を教えてもらう為に、ここまで来ました。
弟子B:……来てやったぞ。(ぼそっ)
弟子A:師匠に対して、口の聞き方を改めた方がいいと思うよ。
弟子B:……フン!
師匠 :……まぁ、今日のところは良しとしよう!
     早速だが、C言語を少しずつだが伝授してやろうかの?
弟子A:はい! 有難うございます!!
弟子B:……まぁ、当然やね!!

(弟子Bを睨み付ける師匠。)

師匠 :まずは、下の表を見てくれい!
弟子A:この表ですね!

データ型 扱える値の範囲とサイズ 説明
char(キャラ) -128〜127と文字
1バイト(8ビット)
'a'や'0'という1文字と整数を扱う型。
short(ショート) -32768〜32767
2バイト(16ビット)
1や666といった整数を扱う型。
int(イント) 処理系依存
2バイト(16ビット)か 4バイト(32ビット)
コンパイラによって、shortかlongと同じになる。詳しくは、使っているコンパイラのヘルプを読もう。
long(ロング) -2147483648〜2147483647
4バイト(32ビット)
-108976や308865といったshortでは扱え切れない整数を扱う型。
float(フロート) ±3.4×10-38〜±3.4×1038
4バイト(32ビット)
3.141592のように、小数を扱う型。
double(ダブル) ±1.7×10-308〜±1.7×10308
8バイト(64ビット)
これも小数を扱う型だが、
float型よりも、扱う数が大きいときに使う。

弟子A:あの……ビットとかバイトって何ですか?
師匠 :コンピューターは、内部では2進数で表現されておる。
弟子A:2進数って何ですか?
師匠 :0と1だけで表現される数じゃ!
    予断だが、日常的に使っている0〜9の数で表現される数を10進数と呼ばれておる。
弟子B:じゃ、10とか-5とかは、どうやって表現すんねん! どう考えても無理やろ!?
師匠 :それなら、簡単に出来るぞ! 1バイト時で、10だと、00001010、-5だと11111011と表せるのじゃ!
    2進数の話は奥が深いのでこれ位にしておくかの……?
    その0か1の数が8つあるから、8ビットという感じじゃ!
    そして、1バイト=8ビットであるのじゃ!
弟子A:はい! 勉強になりました!!
弟子B:……。
師匠 :もう一度、この表に注目して欲しい。
    もし、扱える数を超す(オーバーフロー)と、
    演算結果が変になってしまうから、注意するんじゃぞ!!
弟子A:はい! 気を付けます!

師匠 :次は、型の宣言の仕方じゃ!!
    仮に変数aint型として宣言したいならば、
int a;

    と、プログラムの最初に宣言するのじゃ!
弟子B:ちょっと待て!! 最後に「;(セミコロン)」が付いてんぞ!
    ボケちまったのか! 爺さんよ!!
師匠 :鋭い突っ込みじゃな!
    C言語では、1つ1つの命令の最後には、;(セミコロン)を必要とするんじゃ!
    (一部、例外があります。それは、今後の講義で教えます。)
    これが無いと、コンパイル(実行ファイルにする事)時にエラーが返されるぞ!
弟子A:細心の注意を払います! 師匠!
弟子B:そんな単純なもの忘れる奴は、単なるアホやんけ!
師匠 :いやいや、プロのプログラマーでも、忘れる人がおるようじゃ!
    単純すぎるからこそ、うっかり忘れてしまった記憶ぐらいあるであろう?
弟子B:……うう!!
弟子A:はい、恥ずかしながら……。
師匠 :気をつけてくれい!

師匠 :おっと、もう日が暮れておる……。
    飯でも食って床につくとするか……。
弟子A:そうしましょう!
弟子B:ふぅ〜……。腹が減って死にそうや!
師匠 :では、皆の衆……また明日な!!


戻る