C言語でsizeofを使ってバイト数を取得する方法
C言語では、変数やデータ型のバイト数を計算するために **sizeof** が使用できます。**sizeof** は演算子であり、基本型、配列、構造体などのあらゆるデータ型のバイト数を算出するために利用できます。
以下にいくつかの例を示します。
- 基本データタイプのバイトサイズを計算する:
#include <stdio.h>
int main() {
int a;
printf("int的字节数:%lu\n", sizeof(a));
char c;
printf("char的字节数:%lu\n", sizeof(c));
float f;
printf("float的字节数:%lu\n", sizeof(f));
double d;
printf("double的字节数:%lu\n", sizeof(d));
return 0;
}
- 配列のバイトサイズを計算します
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printf("数组的字节数:%lu\n", sizeof(arr));
printf("数组的元素个数:%d\n", size);
return 0;
}
- 構造体のバイトサイズを計算する:
#include <stdio.h>
struct Person {
char name[20];
int age;
};
int main() {
struct Person p;
printf("结构体的字节数:%lu\n", sizeof(p));
return 0;
}
sizeofで配列のバイト数を計算する際に要素のバイト数で割ると配列の要素数を取得できる。これは配列を扱う際にとても役立つ。