Wiki

[新規] [編集]

型(C++)

 C++において(かた)とは,変数が表すデータの種類や変数が使うメモリのサイズなどを表すものである.

種類

 は大きく分けて,以下の2つに分けられる.

基本型

 基本型は以下のものである.

void型

 void(ぼいど)型は,どの型との関連もないことを表す.主に関数?の型として用いられる.

int型

 int(いんと)型は,整数(integer)を表す.int型の変数は整数値を格納する.整数値は「10」などの普通の数値である十進数,「010」などの「0」から始まる八進数,「0x10」などの「0x」から始まる十六進数で表す.

float型

 float(ふろーと)型は,浮動小数点数(float point number)を表す.float型の変数は浮動小数点数値を格納する.float値は「1.23f」などの後ろに「f」を付けた数字(十進数表記)で表す.

double型

 double(だぶる)型は,倍精度浮動小数点数(double precision float point number)を表す.double型の変数は倍精度浮動小数点数値を格納する.double値は「1.23」などの小数点を含む数字(十進数表記)で表す.

char型

 char(きゃら,ちゃー)型は,文字(character)を表す.char型の変数は文字値を格納する.実際には整数型であり文字コードを格納するものであるが,初心者は気にしなくて良い.char値(文字)は「'A'」などのシングルクオート(「'」)で囲んだ半角文字1文字で表す.

bool型

 bool(ぶーる)型は,真偽値?(boolean value)を表す.bool型の変数真偽値?を格納する.真偽値はtrue(とぅるー)またはfalse(ふぉーるす)である.整数値で表すこともでき,0以外がtrue,0がfalseとして解釈される.

short

 intの前にshort(しょーと)を付けることでint型より小さい範囲の整数を扱える.メモリの節約になるかも知れないがあまり使われない.short intを省略して単にshortとしてもよい.

long

 int,doubleの前にlong(ろんぐ)を付けることで元の型より大きい範囲の値を扱える.実際には元の型と同じ範囲しか扱えないことが多い.long値は数字の後ろに「l」か「L」を付けることでint値やdouble値と区別される.また,long intを省略して単にlongとしてもよい.
 さらにlongを重ねることでより大きい範囲の整数を扱える.long long値は数字の後ろに「ll」か「LL」を付けることで元の型と区別される.また,long long intを省略して単にlong longとしてもよい.

unsigned

 int,short int,long int,long long int,charの前にunsigned(あんさいんど)を付けることで非負の整数を扱える.負の値が扱えない代わりに,元の型と比べて扱える数値の最大値が倍増する.unsigned値は数字の後ろに「u」か「U」を付けることで元の整数値と区別される(「l」などとの順番はどちらが先でもよいし,大文字小文字は統一しなくてもよい).また,unsigned intを省略して単にunsignedなどとしてもよい.

signed

 int,short int,long int,long long int,charの前にsigned(さいんど)を付けることで符号付きの整数を扱える.元の型が元々正負の数を扱えるのであまり付ける意味は無く,元の型と同一の型として扱われる.ただし,unsigned char型だけはchar型とは区別されるが,初心者は気にしなくて良い.

型のサイズ

☆☆
 基本型の一般的なサイズは以下の通りである.ただし,これらはコンパイラの仕様によって定められるため,必ずしもこの限りではない.
サイズ
void---------------
char1バイト(8ビット)
bool1バイト(8ビット)
short int2バイト(16ビット)
int4バイト(32ビット)
long int4バイト(32ビット)
long long int8バイト(64ビット)
float4バイト(32ビット)
double8バイト(64ビット)
long double16バイト(128ビット)

型のとりうる値の範囲

☆☆
 型のサイズに依存するが,基本型のとりうる値の一般的な範囲は以下の通りである.これらもコンパイラの仕様によって定められる.
範囲
void------------------------------
char1バイト文字1文字(整数値としては-128〜127)
booltrueかfalse
short int-32768〜32767
int-2147483648〜2147483647
long int-2147483648〜2147483647
long long int-9223372036854775808〜9223372036854775807
float6桁の小数(最大値はおよそ3.4e+38)
double15桁の小数(最大値はおよそ1.7e+308)
long double18桁の小数(最大値はおよそ1.2e+4932)

ユーザ定義型

☆☆
 ユーザ定義型は,以下のものである.これらは,ユーザ(プログラマ)の定義によって表すデータの内容が定まる.
  • 配列?
  • 列挙体?
  • 構造体?
  • 共用体?
  • クラス?