#include <stdio.h>
int main(void)
{
printf("sizeof(char) = %zu\n", sizeof(char));
printf("sizeof('a') = %zu\n", sizeof('a'));
}
見るhttps://godbolt.org/z/1eThqvMhx
このコードをC言語で実行すると、次のように出力されます。
sizeof(char) = 1
sizeof('a') = 4
このコードをC++で実行すると、次のように出力されます。
sizeof(char) = 1
sizeof('a') = 1
言語によって出力が異なるのはなぜですか? C と C++ の文字のサイズはどれくらいですか? 私の知る限り、文字のサイズはchar
C と C++ の両方で 1 バイトです。
ベストアンサー1
C では、のような文字定数'a'
の型は、実際には でint
、サイズは 4 (または実装に依存するその他の値) です。C++ では、 型は でchar
、サイズは 1 です。これは、2 つの言語間の多くの小さな違いの 1 つです。