スカラー型【scalar data type】
スカラー型とは?

スカラー型の変数には、その型に対応する値を一つだけ格納できる。整数型の変数には数値を一つ、ブール型の変数には真(true)または偽(false)のいずれか一つを格納し、数値であれば四則演算や大小比較、ブール値であれば論理演算などが行われる。
これに対し、複数のスカラー型のデータを組み合わせて一つのまとまりとして定義したデータ型を「複合データ型」(composite data type)と呼ぶ。構造体やレコード、クラスなどがその例である。また、同じスカラー型のデータを一定の規則に従って複数並べたデータ集合は「コレクション」(collection)と呼ばれ、配列や連結リスト、連想配列などが含まれる。スカラー型はこうした複雑なデータ構造を構成する最小単位の要素である。
同じ種類のデータでも、言語によってスカラー型として扱われるか、複合的なデータ構造として扱われるかが異なる場合がある。整数や実数、真偽値などはほとんどの言語でスカラー型が用意されているが、文字列の扱いは一様ではない。現代の多くの言語では「文字列型」(String型など)が独立したスカラー型として定義されているが、C言語では文字列専用の型は存在せず、「文字型」(char型)を要素とする配列という複合的なデータ構造として表現される。この違いは、各言語が文字列をどの抽象度で扱うよう設計されているかを反映したものである。
言語によっては、スカラー型に分類される値の範囲そのものが異なる場合もある。Perlでは数値、文字列、リファレンスを総称して「スカラー値」と呼び、PHPでは整数、浮動小数点数、文字列、ブール値の四つをスカラー型と定めている。このように、用語自体は共通していても、どのデータ型がそこに含まれるかは言語の仕様によって異なっている。
なお、「スカラー」(scalar)という概念はプログラミングに限らず、数学や情報科学の分野でも用いられており、大きさのみを持つ量を指す言葉としてベクトルや行列と対比される。データベースにおいても、数値や文字列、日付などの個別の値を「スカラー値」と呼ぶことがあり、表や配列のような複数要素を持つ構造と区別することがある。