C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++でint・float・double・charのサイズを確認する方法|sizeof演算子の使い方を解説

C++における主なデータ型

C++には多数のデータ型が用意されていますが、その中でも特によく使用されるのが「int」「float」「double」「char」の4つです。それぞれの特徴は以下のとおりです。

  • int:整数を扱うためのデータ型です。通常は4バイトのメモリ領域を必要とします。

  • float:単精度浮動小数点数(小数)を格納するためのデータ型です。通常は4バイトのメモリ領域を使用します。

  • double:倍精度浮動小数点数(より高精度な小数)を格納するためのデータ型です。通常は8バイトのメモリ領域を使用します。

  • char:1文字を格納するためのデータ型です。通常は1バイトのメモリ領域を使用します。

sizeof演算子とは

データ型のサイズを調べるには、sizeof演算子を使用します。sizeofはコンパイル時に評価される演算子で、変数やデータ型が必要とするメモリ量をバイト単位で返します。

書式は次のとおりです。

sizeof(データ型);

int・float・double・charのサイズを表示するプログラム例

実際に、int、float、double、charそれぞれのサイズを出力するプログラムは以下のとおりです。

サンプルコード

#include <iostream>
using namespace std;
int main() {
    cout<<"Size of int is "<<sizeof(int)<<" bytes"<<endl;
    cout<<"Size of float is "<<sizeof(float)<<" bytes"<<endl;
    cout<<"Size of double is "<<sizeof(double)<<" bytes"<<endl;
    cout<<"Size of char is "<<sizeof(char)<<" byte"<<endl;
    return 0;
}

実行結果

Size of int is 4 bytes
Size of float is 4 bytes
Size of double is 8 bytes
Size of char is 1 byte

プログラムの解説

このプログラムでは、sizeof演算子を使ってint、float、double、charの各データ型のサイズを取得し、coutオブジェクトで画面に表示しています。該当する部分は以下のコードです。

cout<<"Size of int is "<<sizeof(int)<<" bytes"<<endl;
cout<<"Size of float is "<<sizeof(float)<<" bytes"<<endl;
cout<<"Size of double is "<<sizeof(double)<<" bytes"<<endl;
cout<<"Size of char is "<<sizeof(char)<<" byte"<<endl;

実行結果からわかるように、この環境ではintとfloatが4バイト、doubleが8バイト、charが1バイトとなっています。ただし、データ型のサイズは処理系(コンパイラやOSの環境)によって異なる場合があるため、正確なサイズを知りたいときは必ずsizeof演算子で確認することをおすすめします。

  1. C++で双方向リンクリストのサイズ(要素数)を求めるプログラム

    本記事では、双方向リンクリスト(Doubly Linked List)が与えられたときに、そのサイズ(要素数)を求めるC++プログラムの作成方法を詳しく解説します。 双方向リンクリストとは、片方向リンクリストと比べて、各ノードが前後両方向のリンクを持つため、前方にも後方にも自由に移動できる特殊なリンクリストです。まず、双方向リンクリストを理解するうえで重要な用語を確認しておきましょう。 リンク(Link):リンクリストの各リンクには、「要素」と呼ばれるデータが格納されます。 ネクスト(Next):各リンクには、次のリンクを指す参照「Next」が含まれます。 プレヴ(Prev):各リンクに

  2. C++で二重積分を計算するプログラム|シンプソン1/3則による数値積分の実装

    変数xの下限・上限、変数yの下限・上限、そしてx・yそれぞれの刻み幅(ステップ幅)が与えられたとき、二重積分を数値的に計算し、その結果を表示するのが本記事のテーマです。 入出力の例 入力: xの刻み幅 = 1.2 yの刻み幅 = 0.54 xの下限 = 1.3 xの上限 = 2.1 yの下限 = 1.0 yの上限 = 2.1 出力: double integration is : 2.1 計算のアプローチ 本プログラムでは、以下の手順で二重積分を求めます。 xとyの上限・下限の値に加えて、x・yそれぞれの刻み幅を入力として受け取ります。 二重積分の計算にはシンプソン1/3則(Simpson