Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ความแตกต่างประเภทของ Character Literals ใน C เทียบ C++

ใน C++ ขนาดของ character constants เป็น char ใน C ประเภทของ character constant เป็น integer (int) ดังนั้นใน C sizeof('a') คือ 4 สำหรับสถาปัตยกรรม 32-bit และ CHAR_BIT คือ 8 แต่ sizeof(char) เป็น 1 ไบต์ทั้ง C และ C++

ตัวอย่าง C

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

ผลลัพธ์

4

ตัวอย่าง C++

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

ผลลัพธ์

1

ทั้งสองกรณีทำเหมือนกัน แต่ใน C sizeof('a') คืนค่า 4 เพราะถูกดำเนินการเป็น integer ใน C++ คืนค่า 1 เพราะถูกดำเนินการเป็น character