基本

C言語の変数の型

投稿日:2013/02/24 更新日:

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

になります。

当サイトのおすすめ記事

レンタルサーバー 1

当サイトは約5年間、さくらのレンタルサーバで運用させて頂きました。 何かトラブルがあったわけではないのですが、WordPressの表示速度を速くしたくてSSD搭載のレンタルサーバーで運用してみることに ...

プログラミング 2

SQLでIFを使わずに条件分岐する SQLでIFを書けばWHERE句の内容を変えて検索できますが、条件ごとに同じようなSQLを 複数回書くのは面倒なので、1行で分岐できないかと言う事でSQLを作って見 ...

SQLServer 3

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコードの内容を メッセージが定義されているテーブルから取得します。 エラーコードを取得するSQL SQLs ...

4

SQLServerでテーブル型を戻り値とする関数を作る SQLServerではINT型やVARCHAR型などを返す関数と同様に ユーザー定義テーブル型を戻り値とする関数を作成できます。 テーブル型を戻 ...

5

アフィリエイトで即効成果を出す アフィリエイトで成果を出す、なかなか難しいですよね。 サイトをいくつも立ち上げてすでにコツをつかんでいる人なら チョチョイっとやっていけるんでしょうけど。 でも実際はこ ...

-基本
-, , , , , , , ,

Copyright© ソフトウェア開発日記 , 2017 AllRights Reserved.