さまざまなデータ型を使おう

こんにちは、めのんです!

前回出てきた変数の型ですが、ほかにもあるのでどんなものがあるのか見ていくことにします。
今回は最初にソースコードを掲載しておきますね。

文字型

前回紹介したのは文字列型でした。
文字列というのはその名の通り文字の並びですので、1文字だけの場合には文字型を使います。

先ほどのソースコードの8行目にあるように、文字型には「char」を使います。
文字型の値は一重引用符で囲んだ文字を使います。
文字列は二重引用符で囲みましたので違いに注意してください。

整数型

整数型は小数点以下がない数値ですね。
先ほどのソースコードの11行目のように整数型には「int」を使います。

実は整数型にはもっとたくさんの型があります。
どんな型があるかというと、

  • char
  • short
  • int
  • long
  • long long

になります。
この順に、より広い範囲の(大きな絶対値の)値を扱うことができます。
文字型の「char」も混ざっていますが、実は文字型も一種の整数型です。

ところで、整数型には「unsigned」を付けることで符合無しの型を表すことができます(「unsigned int」のように書きます)。
普通はマイナスの値も表現できる符号付きなんですが、「unsigned」を付けることで0以上の整数を表現する型になります。

整数型の値を書くときには少しだけ注意しないといけないことがあります。
ソースコードの12行目から14行目に書いたように、long型の場合は末尾に「L」を、long long型の場合は「LL」を、符合無しの場合は「U」を添字として付けます。
unsigned longのような場合は「UL」としてください。

添字は大文字でも小文字でもかまいませんが、小文字の「l(エル)」は数字の1(イチ)と間違えやすいので大文字を使った方がいいでしょう。

宣言や代入で格納する変数の型がわかっている場合は、それらの添字は省略しても大丈夫です。

浮動小数点型

浮動小数点型を使うと小数を表すことができますし、大きな数の場合は指数表現を使うこともできます。
冒頭のソースコードの17行目のように、普通は「double」を使います。

整数型と同じように浮動小数点型にもいくつかの種類があります。
どんな型があるかというと、

  • float
  • double
  • long double

になります。
この順に、より広い範囲(大きな絶対値)かつより高い精度の値を扱うことができます。

浮動小数点型にも添字があって、floatの場合は「F」を、long doubleの場合は「L」を付けます。
やはり大文字と小文字のどちらを使ってもかまいません。

浮動小数点型の値で指数表現を使う場合は次のように書きます。

double x { 1.23e+5 };

上のように書くと、1.23×105を意味します。
指数部の「+」は省略してもかまいませんし、「e」は大文字でも小文字でもOKです。

論理型

論理型というのは真偽を表す型で、「true」または「false」だけを格納することができます。
「true」が真で「false」が偽になります。

論理型には冒頭のソースコードの21行目のように「bool」を使います。

論理型の変数に対して、論理型ではない普通の数値で初期化や代入しようとすると、数値が0の場合はfalseが、それ以外はtrueが格納されることになります。

すごく厳密なことをいうと、論理型も整数型の一種になりますので整数型の特徴もあわせ持っています。

特殊文字

最後に、文字や文字列に使える特殊文字(エスケープシーケンス)についても紹介しておきましょう。

いろいろあるんですが、改行を表す「\n」やタブを表す「\t」をよく使います。

「hello」の途中に改行とタブを入れてみました。
これをコンパイル&実行すると次のようになります。

このように、「he」のあとに改行が、「ll」のあとにタブが挿入されたことがわかるかと思います。

それでは続きは次回にします。