C言語の変数の型

公開日: : 最終更新日:2013/11/26 基本 , , , , , , , ,

C言語の型

C言語での定義されている型の種類

C言語では変数を確保する際に「型」を指定する必要があります。
定義されている型は以下のものです。

  • char
  • short
  • int
  • long
  • double
  • float

です。

それぞれコンパイラに対して特定のバイト数の
エリア確保を命令します。

C言語での定義されている型の利用

具体的には以下のソースのように「変数の型 変数の名前;」と
いうように宣言します。

C言語での定義されている型のサイズ

C言語で利用できる変数の型のサイズは以下の
通りです。

上記ソースの実行結果は

というようになります。

char,short,int,longは整数を、double,floatは小数を管理する場合に
使用します。

C言語でのint型のサイズ

intのサイズは処理系(コンパイラ・OS)に依存してサイズが
変わるので注意が必要です。
むかし、むかし「intはMS-DOSは2バイト、UNIXは4バイト」と
教えられましたが実際は処理系に依存が正しいようです。

C言語での型の関係

それぞれのバイト数の関係は
char ≦ short ≦ int ≦ long
と決められています。

C言語での符号有無

変数に格納する値を「+」のみに限定する場合は「unsigned」を
付けて宣言します。
(これを一般に「符号なし」と言います。)

例えば

というようになります。

「unsigned」を付けた変数は最上位ビットを数字として使用しますが、
「unsigned」がついていない変数は最上位ビットを
符号(0がプラス、1がマイナス)を
表現します。(マイナス値は2補数で表現します。)

char型は1バイトなので、2進数(ビット)で表現すると
「0000 0000」から「1111 1111」までを表現できますが、
「signed(unsignedの逆でsignedは省略可能です)」の場合は
最上位ビットが符号なので(マイナスは2の補数で表現すると)
最大値が「0111 1111」、最小値が「1111 1111」、
「unsigned」場合は
最大値が「1111 1111」、最小値が「0000 0000」になり
それぞれ
signedが「-128~127」、unsignedが「0~255」までを
表現できます。

まとめ

種類 型名 サイズ 値の範囲
文字型 char 1バイト -128 ~ 127
文字型 unsigned char 1バイト 0 ~ 255
整数型 short int 2バイト -32768 ~ 32767
整数型 unsigned short int 2バイト 0 ~ 65535
整数型 int 4バイト -2147483648 ~ 2147483647
整数型 unsigned int 4バイト 0 ~ 4294967295
整数型 long 4バイト 0 ~ 4294967295
整数型 unsigned long 4バイト 0 ~ 4294967295
浮動小数点型 float 4バイト 3.4E-38 ~ 3.4E+385
浮動小数点型 double 8バイト 1.7E-308 ~ 1.7E+308
浮動小数点型 long double 8バイト 1.7E-308 ~ 1.7E+308

になります。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 14 follow us in feedly

関連記事

SQLServer

C言語のプリプロセッサー「#define」

プリプロセッサー「#define」 プリプロセッサーはソースファイルをコンパイルする前に 処

記事を読む

no-img

C言語のカッコ、「{」や「}」は省略しない方が良い

C言語では制御文(if-else,for,while)で実行する文が 1行の場合は中括弧の「{」や

記事を読む

keybord_black

C言語での条件分岐-switch文

C言語での条件分岐-switch文 switch文はcaseで指定した値と一致した時に処理を行うた

記事を読む

no-img

C言語の統合開発環境として「VISUAL C++ 2010 EXPRESS」をインストールしました

C言語の統合開発環境として「VISUAL C++ 2010 EXPRESS」を インストールしまし

記事を読む

keybord_black

繰り返し(ループ)制御 do-while文

do-while文での繰り返し do-while文は繰り返し(ループ)処理を行いたい場合に使用する命

記事を読む

keybord_black

C言語のwhile文-繰り返し(ループ)制御

繰り返し(ループ)処理を行うwhile文 while文は繰り返し(ループ)処理を行いたい場

記事を読む

keybord_black

C言語での無限ループの作り方

無限ループって永久に抜けないの? 会社に入って始めてプログラムを作り始めた頃は「無限ループ(繰

記事を読む

no-img

C言語のfor文-繰り返し(ループ)制御

繰り返し(ループ)処理を行うfor文 for文は繰り返し(ループ)処理を行いたい場合に使用する

記事を読む

no-img

C言語の演算子の種類

C言語の演算子の種類 C言語にはいくつかの演算子と呼ばれる記号があります。 それを以下に示し

記事を読む

no-img

値渡し(Call by Value)と参照渡し(Call by Reference)

初心者には以外と難しい「値渡し(Call by Value)」と「参照渡し(Call by Refe

記事を読む

SQLServer
C言語のプリプロセッサー「#define」

プリプロセッサー「#define」 プリプロセッサーはソースファ

no-img
値渡し(Call by Value)と参照渡し(Call by Reference)

初心者には以外と難しい「値渡し(Call by Value)」と「参照

keybord_black
C言語での無限ループの作り方

無限ループって永久に抜けないの? 会社に入って始めてプログラムを

keybord_black
C言語のwhile文-繰り返し(ループ)制御

繰り返し(ループ)処理を行うwhile文 while文は繰り

no-img
C言語の統合開発環境として「VISUAL C++ 2010 EXPRESS」をインストールしました

C言語の統合開発環境として「VISUAL C++ 2010 EXPRE

→もっと見る



PAGE TOP ↑