C言語のデータ型とは?種類・使い方・サイズの確認方法を解説
データ型(datatype)とは、メモリ上の領域や変数の宣言を定義するためのものです。コンピュータが扱うデータにはさまざまな種類があり、C言語で扱われる主なデータの例は以下の通りです。
整数、有理数、自然数、実数、複素数、ベクトル、文字など
コンピュータのハードウェアの観点から見ると、すべてのデータは有限長の0と1からなるビット列(バイナリデータ)として符号化されます。マシン内部では、整数データは演算論理装置(ALU)によって処理され、小数データは浮動小数点演算装置(FPU)によって処理されます。この仕組みは、高水準言語が備える組み込み型(プリミティブ型)にもそのまま反映されています。
C言語の組み込みデータ型(基本データ型)
C言語には数多くの組み込みデータ型が用意されており、代表的なものは以下の通りです。
int、float、char、unsigned int、unsigned char、long int、double など
データ型の使い方
C言語では、データ型を使い分けることで、データをさまざまな形式で格納できます。以下に具体的な例を示します。
- char string, grade='A';
- int count, index=10;
- float average=6.9;
上記の例では、char、int、floatが組み込みデータ型であり、stringやgradeはchar型の変数に該当します。
grade='A' は、変数gradeを文字「A」の文字コードで初期化することを意味します。
countとindexはint型の変数です。
index=10 は、変数indexを10のバイナリ表現で初期化します。
サンプルプログラム
以下は、変数および組み込みデータ型のサイズ(バイト数)を求めるCプログラムの例です。
#include<stdio.h>
int main(){
int x = 10;
char c;
printf("Size of variable x = %ld bytes\n",sizeof(x));
printf("Size of variable c = %ld byte\n",sizeof(c));
printf("Size of short is %ld bytes\n",sizeof(short));
printf("Size of int is %ld bytes\n",sizeof(int));
printf("Size of long is %ld bytes\n",sizeof(long));
printf("Size of float is %ld bytes\n",sizeof(float));
printf("Size of double is %ld bytes\n",sizeof(double));
printf("Size of long double is %ld bytes\n",sizeof(long double));
printf("Size of char is %ld bytes\n",sizeof(char));
printf("Size of void is %ld bytes\n",sizeof(void));
return 0;
}実行結果
上記のプログラムをコンパイルして実行すると、次のような結果が出力されます。
Size of variable x = 4 bytes Size of variable c = 1 byte Size of short is 2 bytes Size of int is 4 bytes Size of long is 4 bytes Size of float is 4 bytes Size of double is 8 bytes Size of long double is 16 bytes Size of char is 1 bytes Size of void is 1 bytes
このように、sizeof演算子を使えば、任意の変数やデータ型が実際に何バイトのメモリを占有するかを簡単に確認できます。ただし、これらのサイズは環境(OSやコンパイラ、プロセッサのアーキテクチャ)によって異なる場合がある点に注意しましょう。
-
C言語の基本データ型を徹底解説!int・char・floatの種類とサイズ一覧
C言語の基本データ型とは? C言語のコンパイラがサポートする基本データ型は、大きく分けて次の4つです。 整数型(Integer) 文字型(Character) 浮動小数点型(Floating-point) 倍精度浮動小数点型(Double precision floating point) プログラムで扱う値の種類(整数・文字・実数など)に応じて適切な型を選ぶことは、正確で効率的なコードを書くための第一歩です。なお、各データ型のサイズや表現できる値の範囲は、使用するコンパイラや実行環境によって異なる場合がある点に注意してください。 整数型(Integral Data Type) 整数型は
-
C言語の探索アルゴリズム解説|線形探索と二分探索の違いと実装例
探索(サーチ)とは、複数の要素で構成されるリストの中から、目的の「キー」となる要素を見つけ出す処理のことです。 リストの中に指定した要素が存在すれば、その探索は「成功」とみなされます。 指定した要素がリストに存在しなければ、その探索は「失敗(不成功)」となります。 C言語で広く使われている代表的な探索手法は、主に次の2つです。 線形探索(Linear Search/リニアサーチ) 二分探索(Binary Search/バイナリサーチ) 線形探索(Linear Search)とは 線形探索は、リストの先頭から順に要素を1つずつ取り出し、キーと一致するかどうかを確認していく、最も基本的な探