Loose-Info.com

Last Update 2019/12/24


TOP - C言語 - 変数

変数の型には以下の種類があります。
※実装環境によってはサイズなどが異なる可能性があります。

文字型
char
文字コードに対応する数値を格納

整数型
signed char
文字型と同じメモリサイズの整数(符号付き)
unsigned char
文字型と同じメモリサイズの整数(符号無し)

short int
2バイト整数(符号付き)
unsigned short int
2バイト整数(符号無し)

int
4バイト整数(符号付き)
unsigned int
4バイト整数(符号無し)

long int
8バイト整数(符号付き)
unsigned long int
8バイト整数(符号無し)

浮動小数型
float
浮動小数点数(単精度)
double
浮動小数点数(倍精度)

(例)
#include <stdio.h> #include <float.h> #include <limits.h> int main() { char c = '0'; char c_max = CHAR_MAX; char c_min = CHAR_MIN; signed char sc_max = SCHAR_MAX; signed char sc_min = SCHAR_MIN; unsigned char uc_max = UCHAR_MAX; unsigned char uc_min = 0; short int si_max = SHRT_MAX; short int si_min = SHRT_MIN; unsigned short int usi_max = USHRT_MAX; unsigned short int usi_min = 0; short si = SHRT_MIN; int i_max = INT_MAX; int i_min = INT_MIN; unsigned int ui_max = UINT_MAX; unsigned int ui_min = 0; unsigned ui = UINT_MAX; long int li_max = LONG_MAX; long int li_min = LONG_MIN; unsigned long uli_max = ULONG_MAX; float f_max = FLT_MAX; float f_min = FLT_MIN; double d_max = DBL_MAX; double d_min = DBL_MIN; printf("char 文字コード : %d\n", c); printf("char 最大値 : %d\n", (int)c_max); printf("char 最小値 : %d\n", (int)c_min); printf("signed char 最大値 : %d\n", (int)sc_max); printf("signed char 最小値 : %d\n", (int)sc_min); printf("unsigned char 最大値 : %d\n", (int)uc_max); printf("unsigned char 最小値 : %d\n", (int)uc_min); printf("short int 最大値 : %d\n", si_max); printf("short int 最小値 : %d\n", si_min); printf("unsigned short int 最大値 : %d\n", usi_max); printf("unsigned short int 最小値 : %d\n", usi_min); printf("[int]は省略可能 : %d\n", si); printf("int 最大値 : %d\n", i_max); printf("int 最小値 : %d\n", i_min); printf("unsigned int 最大値 : %ld\n", (long)ui_max); printf("unsigned int 最小値 : %ld\n", (long)ui_min); printf("[int]は省略可能 : %ld\n", (long)ui); printf("long int 最大値 : %ld\n", li_max); printf("long int 最小値 : %ld\n", li_min); printf("unsigned long int 最大値 : %20.1f\n", (double)uli_max); printf("float 最大値 : %e\n", f_max); printf("float 最小値 : %e\n", f_min); printf("double 最大値 : %e\n", d_max); printf("double 最小値 : %e\n", d_min); return 0; }

実行結果 ※実行環境 : Mac OS X 10.6 - [GCC 4.2]
char 文字コード : 48 char 最大値 : 127 char 最小値 : -128 signed char 最大値 : 127 signed char 最小値 : -128 unsigned char 最大値 : 255 unsigned char 最小値 : 0 short int 最大値 : 32767 short int 最小値 : -32768 unsigned short int 最大値 : 65535 unsigned short int 最小値 : 0 [int]は省略可能 : -32768 int 最大値 : 2147483647 int 最小値 : -2147483648 unsigned int 最大値 : 4294967295 unsigned int 最小値 : 0 [int]は省略可能 : 4294967295 long int 最大値 : 9223372036854775807 long int 最小値 : -9223372036854775808 unsigned long int 最大値 : 18446744073709551616.0 float 最大値 : 3.402823e+38 float 最小値 : 1.175494e-38 double 最大値 : 1.797693e+308 double 最小値 : 2.225074e-308