sizeof演算子の理解
メニューを表示するにはスワイプしてください
sizeof() 関数は、Cプログラミングにおける基本的な機能。指定したオブジェクトや型のサイズ(バイト数)を判定するために使用。例えば、int データ型が何バイト占めるかを確認:
main.c
12345678#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }
int データ型は4バイトを占有。
注意
異なるコンパイラでは、同じデータ型に対して異なるバイト数が割り当てられる場合があることに注意。
ビット
ビットはコンピュータが使用する最も基本的なデータ単位。すべてのバイトは8ビットで構成される。
エンジニアによって、1バイトを8ビットとすることが決定されたのは、この構成が10進数を便利に表現できるため。2進数という言葉を聞いたことがあるだろうが、これはコンピュータ動作の基礎となる数値体系。
本質的には、私たちの日常生活で使用する数値をゼロとイチの組み合わせで表現することが目的です。どんな数値も2の累乗の組み合わせとして表すことができます。例えば、数値7は111として表現でき、内訳は次の通りです。
値0や1自体には数学的な意味はありません。これらは単にビットの状態を示しています。
0– ビットが非活性状態;1– ビットが活性状態。
数値113は、2進数では01110001として表されます。
Main.c
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
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
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; }
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 7
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 7