ใน C ++ ขนาดของค่าคงที่อักขระคือถ่าน ใน C ประเภทของค่าคงที่อักขระคือจำนวนเต็ม (int) ดังนั้นใน C sizeof('a') คือ 4 สำหรับสถาปัตยกรรม 32 บิต และ CHAR_BIT คือ 8 แต่ sizeof(char) คือหนึ่งไบต์สำหรับทั้ง C และ C++
ตัวอย่าง
#include<stdio.h> main() { printf("%d", sizeof('a')); }
ผลลัพธ์
4
ตัวอย่าง
#include<iostream> using namespace std; main() { cout << sizeof('a'); }
ผลลัพธ์
1
ในทั้งสองกรณีเรากำลังทำเช่นเดียวกัน แต่ใน C sizeof('a') คืนค่า 4 เนื่องจากถือว่าเป็นจำนวนเต็ม แต่ใน C ++ มันคืนค่า 1 จะถือว่าเป็นอักขระ