ภาษา C++ สามารถแบ่งชนิดข้อมูลได้เป็น 2 ประเภท ได้แก่ ข้อมูลแบบพื้นฐานและข้อมูลแบบประกอบ

  • Fundamental Data Type ข้อมูลแบบพื้นฐาน เป็นชนิดข้อมูลที่ภาษา C++ มีไว้ให้สามารถประกาศตัวแปรได้โดยตรง อย่างเช่น Int, Char, Bool และ Float เป็นต้น
  • Compound Data Type ข้อมูลแบบประกอบ เป็นชนิดข้อมู,ที่เกิดจากการนำ ชนิดข้อมูลต่างๆ มาประกอบกัน และชนิดข้อมูลที่ผู้ใช้กำหนดขึ้นมาใช้งาน เช่น Array, Structure, Pointer, Enumeration และ Classes สำหรับข้อมูลชนิดนี้จะมีโครงสร้าง การเก็บข้อมูลและวิธีการเรียกใช้งานที่ซับซ้อนกว่าชนิดข้อมูลแบบพื้นฐาน

ชนิดข้อมูล - Data Type

Boolean

       bool เป็นข้อมูลประเภทตรรกะ ใช้เก็บค่าผลลัพธ์ที่ได้จากการเปรียบเทียบ ซึ่งจะได้ค่าเป็น จริง หรือ เท็จ True or Fault ใน C++จะนำข้อมูลชนิด Bool มาแสดงค่าทาง ตรรกะ โดยภายในหน่วยความจำจะเก็บแทนค่า True ด้วย 1 และ Fault ด้วย 0

Character

       char เป็นชนิดข้อมูล ตัวอักขระ ได้แก่ ตัวอักษร, ตัวเลข และ สัญลักษณ์ โดยการจัดเก็บข้อมูลอักขระในหน่วยความจำจะแทนด้วย อักขระโค้ด [Character Code] ที่เป็นตัวเลข เช่นถ้าเราพิมพ์ ตัวอักษร A จากคีบอร์ดระบบจะบันทึกข้อมูลเป็น Code ตัวเลข 65 และเมื่อทำการอ่านข้อมูลจากหน่วยความจำมาแสดงบนจอภาพ ระบบจะทำการแปลงโค้ดจาก 65 เป็น A ในภาษา C++ ไม่มีการกำหนดชุดอักขระใดๆ ไว้ใช้งานโดยเฉพาะ แต่โดยส่วนใหญ่จะนิยมใช้รหัส แอสกี (ASCII Code) และ Char จะใช้พื้นที่หน่วยความจำขนาด 1 ไบต์ 8บิต
  • signed char เป็นชนิดข้อมูลของตัวอักขระที่ค่าของข้อมูลมีเครื่องหมาย +, -
  • char16_t ข้อมูลของตัวอักขระที่สนับสนุน Unicode 16 Bit[UTF-16]
  • char32_t ข้อมูลของตัวอักขระที่สนับสนุน Unicode 32 Bit[UTF-32] เริ่มใช้ได้ตั้งแต่ C++ 11
  • wchar_t (Wide charecter) ข้อมูลที่มีตัวอักขระที่มีขนาดใหญ่กว่า char เพราะมีขนาดถึง 2byte[16bit]
  • int ข้อมูลตัวเลขจำนวนเต็มพื้นฐาน มีขนาด 2byte[16bit]
  • short ข้อมูลตัวเลขจำนวนเต็ม มีขนาด 2byte[16bit]
  • long ข้อมูลตัวเลขจำนวนเต็ม มีขนาด 4byte[32bit]
  • long long ข้อมูลตัวเลขจำนวนเต็ม มีขนาด 8byte[64bit]
  • signed คือการกำหนดให้ตัวเลขที่เครื่องหมาย +, -
  • unsigned กำหนดให้ตัวเลขไม่ต้องมีเครื่องหมาย +, -

ตัวเลขทศนิยม float, double, long double, void

  • float ข้อมูลตัวเลข ทศนิยม มีขนาด 4byte[32bit]
  • double ข้อมูลตัวเลข ทศนิยม มีขนาด 8byte[64bit]
  • long double ข้อมูลตัวเลข ทศนิยม มีขนาด 16byte[128bit]
  • void เป็นข้อมูลชนิดไม่แสดงค่า จะใช้ประกาศฟังก์ชั่นที่ไม่มีการคืนค่ากลับ