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