Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ sizeof演算子の理解 | データ型と変数
C基礎

booksizeof演算子の理解

メニューを表示するにはスワイプしてください

sizeof() 関数は、Cプログラミングにおける基本的な機能。指定したオブジェクトや型のサイズ(バイト数)を判定するために使用。例えば、int データ型が何バイト占めるかを確認:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }

int データ型は4バイトを占有

Note
注意

異なるコンパイラでは、同じデータ型に対して割り当てられるバイト数が異なる場合があることに注意。

ビット

ビットはコンピュータが使用する最も基本的なデータ単位。すべてのバイトは8ビットで構成される。

1バイトを8ビットとすることは、エンジニアによって決定された。この構成により、10進数を便利に表現できるため。2進数という言葉を聞いたことがあるだろう。これはコンピュータの動作の基礎となる数値体系。

本質的には、数値を日常生活で使う形で、0と1の組み合わせによって表現することが目的。どんな数値も2の累乗の組み合わせとして表すことが可能。例えば、数値7111として表現でき、内訳は次の通り:

0や1自体には数学的な意味はなく、単にビットの状態を示すだけ。

  • 0 – ビットが非活性状態;
  • 1 – ビットが活性状態。

数値113は、2進数で01110001として表される:

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); printf("Size of char type: %d bytes\n", sizeof(char)); printf("Size of double type: %d bytes\n", sizeof(double)); return 0; }

配列に対しても sizeof() 関数を使用して、そのサイズを確認可能。

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }

10個の整数要素を持つ配列は40バイトを占有し、各要素は4バイト消費。配列全体のサイズを1要素のサイズで割ることで、配列の要素数を求めることが可能。

main.c

main.c

copy
1234567891011121314151617
#include <stdio.h> int main() { int data[] = { 4, 8, 1, 5, 0, 123, 66, 11, 64, 2, 7, 78, -0, 34, 23, 545, 98, 890, 65, 32, 412, 6, 5465, 87859, 656534, 324, 324, 456, 356, 341, 5654, 534, 756, 12 }; printf("Elements in an array: %d\n", sizeof(data) / sizeof(int)); // Alternatevly you can use `sizeof(data) / sizeof(data[0])` return 0; }
question mark

C言語で配列 arr の要素数を返す式はどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  7

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  7
some-alt