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進数という言葉を聞いたことがあるだろう。これはコンピュータの動作の基礎となる数値体系。
本質的には、数値を日常生活で使う形で、0と1の組み合わせによって表現することが目的。どんな数値も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; }
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 7
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 7