ชนิดของข้อมูลในภาษาซีคือ ตัวกําหนดขอบเขต และลักษณะของข้อมูลนั้นๆ ข้อมูลที่มีชนิดต่างกันก็จะเก็บข้อมูลในลักษณะที่ต่างกัน และขอบเขตของข้อมูลก็จะไม่เท่ากันด้วย
ชนิดของข้อมูลในภาษาซีมีด้วยกัน 4 แบบ คือ
- ชนิดข้อมูล void
- ชนิดข้อมูลแบบตัวอักษร
- ชนิดข้อมูลจํานวนเต็ม
- ชนิดข้อมูลทศนิยม
ชนิดข้อมูล void (0 Byte)
ชนิดข้อมูล void เป็นชนิดข้อมูลที่ไม่มีค่า ข้อมูลชนิดนี้จะไม่ถูกกําหนดให้กับตัวแปร แต่จะถูกกําหนดให้กับ function เมื่อต้องการให้ function นั้นๆ ไม่ต้องการรับค่า หรือส่งออกค่าใดๆ
ชนิดข้อมูลแบบตัวอักษร Character (1 Byte)
คือชนิดข้อมูล Char ชนิดข้อมูลรูปนี้จะเก็บข้อมูลได้ 1 ตัวอักษรเท่านั้น ในระบบคอมพิวเตอร์จะเก็บตัวอักษรเป็นเลขฐานสองโดยจะแทนค่าด้วยรหัส ASCII เช่น อักษร “A” ข้อมูลที่เก็บในคอมพิวเตอร์จะเป็น 0110 0001 ASCII จะแทนข้อมูลตัวอักษรด้วยรหัสฐานสองขนาด 8 bit ซึ่งจะสามารถแทนตัวอักษรและสัญลักษณ์ทั้งหมด 256 ตัว(2 ยกกําลัง 8 จะได้ 0-255)
ชนิดของข้อมูลจํานวนเต็ม
ชนิดข้อมูลของจํานวนเต็มเรียกอีกอย่างว่า Integral number ในภาษาซีจะแบ่งชนิดข้อมูลจํานวนเต็มออกเป็น 3 ประเภทใหญ่ๆดังนี้
- short int
- signed ขนาด 2 byte ค่าตํ่าสุด -32,768 ถึง 32,767
- unsigned ขนาด 2 byte ค่าตํ่าสุด 0 ถึง 65,535
- int 16 bit และ 32 bit
- int 16 bit
- signed ขนาด 2 byte ค่าตํ่าสุด -32,768 ถึง 32,767
- unsigned ขนาด 2 byte ค่าตํ่าสุด 0 ถึง 65,535
- int 32 bit
- signed ขนาด 4 byte ค่าตํ่าสุด -2,147,483,648 ถึง 2,147,483,647
- unsigned ขนาด 4 byte ค่าตํ่าสุด 0 ถึง 4,294,967,295
- int 16 bit
- **long int **
- signed ขนาด 4 byte ค่าตํ่าสุด -2,147,483,648 ถึง 2,147,483,647
- unsigned ขนาด 4 byte ค่าตํ่าสุด 0 ถึง 4,294,967,295
จะเห็นว่าชนิดข้อมูลจํานวนเต็มมีอยู่หลายประเภท ควรเลือกใช้ตามความเหมาะสม ถ้าข้อมูลที่ต้องการเก็บไม่ใหญ่มาก ก็ไม่ควรที่จะเลือกใช้ชนิดข้อมูลที่ใหญ่จนเกินไป เป็นต้น
ชนิดข้อมูลแบบทศนิยม
ชนิดข้อมูลแบบทศนิยม หรือเรียกว่าเลขจํานวนจริง เช่น 10.01, 14.2 … ซึ่งในภาษาซีจะแย่งออกเป็น 3 ประเภทคือ
- float ขนาด 4 byte ค่าตําสุด 3.4x10^(-30) ถึง 3.4x10^(30)
- double ขนาด 8 byte ค่าตําสุด 1.7x10^(-308) ถึง 1.7x10^(308)
- long double ขนาด 4 byte ค่าตําสุด 3.4x10^(-4932) ถึง 3.4x10^(4932)
เครื่องหมาย ^ หมายถึง ยกกําลัง