データ型 【data type】

概要

データ型(data type)とは、プログラミング言語などが扱うデータをいくつかの種類に分類し、それぞれについて名称や特性、範囲、扱い方、表記法、メモリ上での記録方式などの規約を定めたもの。

あるデータがどのような性質のもので、どのように取り扱うべきかを定めたもので、典型的なものには整数型文字列型などがある。それぞれの変数のデータ型に応じて、それを適切に扱うためのプログラムコードが生成・適用される。

例えば、整数型について「1+1」という処理を実行すると、数値計算のコードが適用されて「2」という結果が得られるが、文字列型について「"1"+"1"」という処理を実施すると、文字列の連結処理が適用されて「"11"」という結果が得られる。

整数を文字列で除算しようとするなど、型が不整合な処理はエラーとなる。"1"という文字列型を1という整数型に変換するなど、異なる型へ一定のルールに基づいて変換することを「型変換」あるいは「型キャスト」(type casting)という。

プリミティブ型と複合型

様々なデータ型のうち、それ以上要素に分解できない最小単位のデータを格納する最も基本的なデータ型を「単純データ型」「プリミティブデータ型」などという。

言語によって用意されている単純型の種類は異なるが、文字型文字列型整数型浮動小数点数型(あるいは固定小数点数型実数型)、論理型ブーリアン型)、日付・時刻型バイナリ型などが用意されていることが多い。

ポインタ型や参照型などメモリ上の位置を格納する型や、関数型などプログラムデータのように扱う型、データが「無い」ことを明示するvoid型など、特殊な型が用意されている言語もある。

浮動小数点数型単精度倍精度など異なる精度の型が用意されていたり、整数型バイト長や符号の有無(負数を表現できるか否か)でいくつかの種類に分かれているなど、データの種類が同じでも仕様が異なる複数の型に分かれている場合もある。

一方、複数のデータ型を組み合わて定義された型や、複数の要素からなるデータ構造を格納するためのデータ型を「複合データ型」(complex type)という。配列連想配列ハッシュマップ辞書)、リストタプル集合型セット)、列挙型などがこれに当たる。

組み込み型とユーザー定義型

言語仕様や標準ライブラリなどにあらかじめ用意されているデータ型を「組み込みデータ型」(ビルトインデータ型)、開発者が独自に定義したものを「ユーザー定義データ型」(user-defined type)という。

組み込み型は言語処理系が標準的に扱うことができ、演算子による演算をったり、基本的な操作や処理をうための関数メソッドが標準で提供されることが多い。

ユーザー定義型は単に既存の組み込みデータ型に別名を与えられるだけの場合もあるが、様々なデータ型を組み合わせた複合データ型を独自に定義できる機能を指すことが多い。演算子の処理内容を独自に定義(上書き)して、ユーザー定義型のに対しても演算子を適用できる言語もある。

型宣言と型付け

プログラムの開発者がそれぞれの変数などのデータ型をプログラム上に明示することを「型宣言」(type statement)という。コード中で使用する変数などについて必ず事前に型宣言しなければならない言語と、型宣言しなくても変数などを使ってよい言語がある。

プログラムの実行前、ソースコードの記述やコンパイルの時点で型が決定されることを「静的型付け」(static typing)、実行時に実際のに基づいて型が決定されることを「動的型付け」(dynamic typing)という。

型宣言が不要な言語の多くは動的型付けを採用しているが、「型推論」(type inference)機能により内部的に静的型付けを自動的にう仕組みの言語もある。

(2020.6.3更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる