データ型

スポンサーリンク

基本型

C の基本型は,char, int, float, double の 4 つだけです。簡単!

基本型説明
char文字型 (整数型の一種)
int整数型
float単精度浮動小数点数型
double倍精度浮動小数点数型

とは言え実際には,符号の有無や型のサイズを表す型指定子を付けることで,これより多くの型が利用できます。

型指定子意味適用可能な型
signed符号付きchar, intsigned char
unsigned符号なしchar, intunsigned int
short小さい型intshort int
long大きい型int, doublelong double

型指定子を複数組み合わせて,unsigned long int のような型を利用することもできます。

また,型指定子の後の int は省略可能です。
例えば,short int は short,unsigned long int は unsigned long と省略できます

符号の有無や型のサイズに関して,標準規格では次のように定められています。

  • char のサイズは 1 バイト。
  • int はデフォルトでは符号付き。

リテラル

各種データのリテラルの例は次の通りです。

種別リテラルの例備考
整数123, +123, -123
012
0x1a, 0x1A, 0X1a, 0X1A

8 進数の 12
16 進数の 1A
実数3.14, +3.14, -3.14
3.
.14
1.23e5, 1.23E5, 1.23e+5, 1.23e-5

3.0 に同じ
0.14 に同じ
指数表記
文字'a'
'\n'

改行文字
文字列"abc\n"
""

空文字列

整数リテラルの 012 は 8 進数の 12,0x1A は 16 進数の 1A を表します。

各種リテラルには,データ型を表す接尾辞を付加することができます。

種別リテラルの例
整数123
123u, 123U
123l, 123L
123ul, 123uL, 123Ul, 123UL
int
unsigned int
long
unsigned long
実数1.23
1.23f, 1.23F
1.23l, 1.23L
double
float
long double

文字/文字列

文字リテラルはシングルクォート '...' で,文字列リテラルはダブルクォート "..." で囲って表します。
いずれも \n や \t などの各種エスケープシーケンスが利用できます。

ES説明
\aベル
\bバックスペース
\fフォームフィード
\nラインフィード
\rキャリッジリターン
\t水平タブ
\v垂直タブ
\'シングルクォーテーション
\"ダブルクォーテーション
\?クエスチョンマーク
\\バックスラッシュ
\0ヌル文字
\ooo文字コードが 8 進数で ooo の文字 (例: \005)
\xhh文字コードが 16 進数で hh の文字 (例: \x0a)

typedef 宣言

typedef 宣言によって,型に別名を付けることができます。
例えば,unsigned int に uint という別名を付けるには次のようにします。

#include <stdio.h>

typedef unsigned int uint;

int main(void)
{
    uint a = 123;  /* unsigned int a = 123; に同じ */

    return 0;
}
スポンサーリンク