Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Khác biệt kiểu hằng ký tự (character literal) trong C và C++


Trong C++, kích thước hằng ký tự (character constant) là char. Trong C, kiểu của hằng ký tự là nguyên (int). Do đó trong C, sizeof('a') là 4 trên kiến trúc 32-bit, và CHAR_BIT là 8. Nhưng sizeof(char) là 1 byte cho cả C và C++.

Ví dụ C

#include <stdio.h>
main() {
    printf("%d", sizeof('a'));
}

Kết quả

4

Ví dụ C++

#include <iostream>
using namespace std;
main() {
    cout << sizeof('a');
}

Kết quả

1

Cả hai làm cùng việc, nhưng C sizeof('a') trả về 4 vì coi như int. C++ trả về 1 vì coi như char.