C言語におけるsizeofの使用方法

C言語では、sizeofは変数や型の占有バイト数を取得するための演算子です。sizeofは以下の用途に使用できます。

  1. 指定のデータ型のメモリ内のバイト数を取得します。例えば、sizeof(int) は整型変数がメモリ内で占めるバイト数を返します。
  2. 変数のサイズ(バイト数)を取得します。例えば、変数numの sizeof(num) は、numがメモリ内で占めるバイト数を返します。
  3. sizeof 演算子: 指定された式の評価結果が占めるバイト数を取得します。例えば、sizeof(num + 1) は num + 1 式の評価結果がメモリ上で占めるバイト数を返します。

sizeofはコンパイル時に評価されます。実行時に評価されるわけではないことに注意してください。そのため、sizeofの結果はコンパイル時で決まる定数式になります。

以下に例を示します。

#include <stdio.h>
int main() {
int num = 10;
int arr[5] = {1, 2, 3, 4, 5};
printf("sizeof(int): %zu\n", sizeof(int));
printf("sizeof(num): %zu\n", sizeof(num));
printf("sizeof(arr): %zu\n", sizeof(arr));
printf("sizeof(arr[0]): %zu\n", sizeof(arr[0]));
printf("sizeof(num + 1): %zu\n", sizeof(num + 1));
return 0;
}

結果を出力する:

sizeof(int): 4
sizeof(num): 4
sizeof(arr): 20
sizeof(arr[0]): 4
sizeof(num + 1): 4

int 型はメモリ中で 4 バイトを占め、変数 num は 4 バイト、配列 arr は 20 バイト(要素の int は 4 バイトで、要素は 5 つ)、配列の要素 arr[0] は 4 バイト、num + 1 は 4 バイトを使用することがわかります。

bannerAds