sizeof演算子

char型を基準としたサイズを取得できます。

構文

型名による指定

sizeof  ( type-name )

型名は、かっこで囲む必要があります。

size_t s1 = sizeof(char); // 1
size_t s2 = sizeof(int);  // 4
size_t s3 = sizeof int;   // エラー C2062

式による指定

sizeof unary-expression

式は、かっこで囲まなくても構いません。

char c = 'A';
size_t s1 = sizeof(c); // 1
size_t s2 = sizeof c;  // 1

サンプルコード

char c = 'A';
size_t sc = sizeof(c); // 1

int a = 10;
size_t sa = sizeof(a); // 4
char c1[] = { 1,2,3,4,5 };
char c2[] = "12345";
char* c3 = "12345";

size_t sc1 = sizeof(c1); // 5
size_t sc2 = sizeof(c2); // 6 (末尾にNULLを含むから)
size_t sc3 = sizeof(c3); // 4 (char*型のバイト数)
wchar_t w1[] = { 1,2,3,4,5 };
wchar_t w2[] = L"12345";
wchar_t* w3 = L"12345";

size_t sw1 = sizeof(w1); // 10
size_t sw2 = sizeof(w2); // 12
size_t sw3 = sizeof(w3); // 4
Microsoft Learnから検索