C言語データ型完全解説:int、float、charなど
C言語データ型
このチュートリアルでは、C言語の基本データ型であるint、float、charなどを解き明かし、正確で効率的なコードが書けるようにします。
動画: Cプログラミングにおけるデータ型
C言語では、すべての変数はそのサイズと値の範囲を定義するデータ型とともに宣言されます。例えば:
int myVar;
ここで、myVarはint(整数)変数で、通常4バイトを占有します。
基本型
最も一般的に使用されるC言語データ型のクイックリファレンスです。
| 型 | サイズ(バイト) | フォーマット指定子 |
|---|---|---|
int | 最小2、通常4 | %d, %i |
char | 1 | %c |
float | 4 | %f |
double | 8 | %lf |
short int | 通常2 | %hd |
unsigned int | 最小2、通常4 | %u |
long int | 最小4、通常8 | %ld, %li |
long long int | 最小8 | %lld, %lli |
unsigned long int | 最小4 | %lu |
unsigned long long int | 最小8 | %llu |
signed char | 1 | %c |
unsigned char | 1 | %c |
long double | 最小10、通常12または16 | %Lf |
int
intは整数(ゼロ、正、負)を小数点なしで表します。典型的な例は0、-5、10です。
整数変数の宣言:
int id;
変数idは整数を保持します。複数の整数を同時に宣言することも可能:
int id, age;
ほとんどのプラットフォームでは、intは4バイト(32ビット)で、-2,147,483,648から2,147,483,647までの232個の異なる値を表せます。
floatとdouble
実数(浮動小数点数)を格納するにはfloatとdoubleを使います。
float salary; double price;
両型とも科学的表記をサポートします:
float normalizationFactor = 22.442e2;
主な違い:float(単精度)は4バイト、double(倍精度)は8バイトを占有します。
char
charキーワードは単一の文字変数を宣言します。例:
char test = 'h';
サイズは正確に1バイトです。
void
voidは型の不在を表します。値を返さない関数で使われます:
void printMessage() { printf("Hello, world!\n"); }
void型の変数を作成することはできません。
shortとlong
より大きな数値範囲が必要な場合はlongやlong longを使います:
long a; long long b; long double c;
小さな整数範囲(-32,767〜32,767)でよければshortで十分:
short d;
sizeof()で型のサイズを確認できます:
#include <stdio.h>
int main() {
short a; long b; long long c; long double d;
printf("size of short = %d bytes\n", sizeof(a));
printf("size of long = %d bytes\n", sizeof(b));
printf("size of long long = %d bytes\n", sizeof(c));
printf("size of long double= %d bytes\n", sizeof(d));
return 0;
}
signedとunsigned
型の値範囲を制御する修飾子:
signed- 負と正の値を許可unsigned- 非負値のみに制限
例:
// 有効
unsigned int x = 35;
int y = -35; // signed int
int z = 36; // signed int
// 無効 - unsignedは負の数を保持できない
unsigned int num = -35;
4バイトintの場合、yは-231から231-1、xは0から232-1の範囲になります。
派生データ型
派生型は基本型から構築されます:配列、ポインタ、構造体、関数。これらは別のチュートリアルで詳しく扱います。
- bool型
- 列挙型
- 複素数型
C言語
- C# キーワードと識別子:ルール、一覧、ベストプラクティス完全ガイド
- C# 変数とプリミティブデータ型:完全マスターガイド
- C#プリプロセッサディレクティブ完全ガイド:条件付きコンパイルと診断制御
- C++データ型完全ガイド:基本型、修飾子、ベストプラクティス
- C言語ユーザー定義関数の4つの実証済みパターン
- C++変数とデータ型:int、double、char、string、boolを徹底解説
- C言語のデータ型完全ガイド:整数、浮動小数点、void型
- C言語の関数マスター:構造、宣言、ベストプラクティス
- C言語共用体:複数データ型の効率的なメモリ管理
- Python データ型マスター: 実践ガイド
- Javaプリミティブデータ型:例付き完全ガイド