Sizeof 演算子は、C 言語で最も一般的に使用される演算子の 1 つで、渡すデータ構造またはデータ型のサイズを計算するために使用されます。 sizeof 演算子は符号なし整数型を返し、プリミティブ データ型と複合データ型に適用できます。データ型に対して sizeof 演算子を直接使用すると、それが占有するメモリを知ることができます -
#include <bits/stdc++.h> using namespace std; int main() { cout << sizeof(int) << "\n"; cout << sizeof(char) << "\n"; cout << sizeof(float) << "\n"; cout << sizeof(long) << "\n"; return 0; }
4 1 4 8 8
この関数を使用することで、データ型を知ることができます変数が占めるスペース。 16 ビット コンパイラは 32 ビット コンパイラとは異なる int 値を与えるため、出力もコンパイラに依存します。
この操作は式にも適用できます -
#include <bits/stdc++.h> using namespace std; int main() { cout << sizeof(int) << "\n"; cout << sizeof(char) << "\n"; cout << sizeof(float) << "\n"; cout << sizeof(double) << "\n"; cout << sizeof(long) << "\n"; return 0; }
4 4
ご覧のとおり、前のx の値は 4 で、これはプレフィックス操作の後でも同じままです。これはすべて sizeof 演算子によるものです。この演算子はコンパイル時に使用されるため、適用する式の値は変更されません。
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {1, 2, 3, 4, 5}; // the given array int size = sizeof(arr) / sizeof(int); // calculating the size of array cout << size << "\n"; // outputting the size of given array }
5
ここでは、まず配列全体のサイズ、または配列が占有するメモリを計算します。次に、その数値をデータ型のサイズで割ります。このプログラムでは、それは int です。
この演算子の 2 番目に重要な使用例は、動的メモリを割り当てることです。そのため、スペースを割り当てるときに sizeof 演算子を使用します。
#include <bits/stdc++.h> using namespace std; int main() { int* ptr = (int*)malloc(10 * sizeof(int)); // here we allot a memory of 40 bytes // the sizeof(int) is 4 and we are allocating 10 blocks // i.e. 40 bytes }
この記事では、sizeof 演算子の使用法とその仕組みについて説明します。また、出力を確認して議論するために、さまざまなタイプのユースケースも作成しました。この演算子のユースケースを C で実装しました。同じプログラムを C、Java、Python などの他の言語で書くことができます。この記事がお役に立てば幸いです。
以上がC++ で sizeof 演算子を使用した結果の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。