ภาษา C เป็นภาษาที่มีชนิดข้อมูลให้ใช้หลากหลาย แต่ละข้อมูลจะมีขอบเขตมากน้อยแตกต่างกันออกไป ชนิดข้อมูลที่มีขอบเขตค่าของข้อมูลกว้างมาก ๆ และเกินความจำเป็นจะใช้เนื้อที่และสิ้นเปลืองหน่วยความจำมาก แต่หากชนิดของข้อมูลมีขนาดน้อยกว่าขอบเขตของข้อมูลที่จะใช้งานจริง ทำให้เกิดข้อผิดพลาดในการทำงานได้
ชนิดของข้อมูลแบ่งออกเป็น 4 แบบ ดังนี้
1. ชนิดข้อมูลแบบจำนวนจริง (Integer type)
2. ชนิดข้อมูลแบบตัวอักษร (Character type)
3. ชนิดข้อมูลแบบจำนวนเลขทศนิยม (Floating point type)
4. ชนิดข้อมูลแบบไม่มีค่า (Void)
1. ชนิดข้อมูลแบบจำนวนจริง (Integer type)
Integer เป็นชนิดข้อมูลแบบจำนวเต็ม ประกอบไปด้วยจำนวนเต็มบวก (1, 2,3,....) จำนวนเต็มลบ (-1, -2, -3,......) และจำนวนเต็มศูนย์ (0) ซึ่งในภาษา C แบ่งจำนวนเต็มออกเป็นชนิดต่าง ๆ ซึ่งแต่ละชนิดมีขนาดและขอบเขตของการใช้งาน ที่แตกต่างกัน ภาษา C แบ่งชุดข้อมูลชนิดจำนวนจริง เป็น 3 ประเภท ได้แก่
ชนิดข้อมูล |
การคิดเครื่องหมาย |
ขนาด (ไบต์) |
ช่วงข้อมูล |
Short |
signed (คิดเครื่องหมาย) |
2 |
-32,768 ถึง 32,767 |
Unsigned (ไม่คิดเครื่องหมาย) |
0 ถึง 65,535 |
||
int |
signed (คิดเครื่องหมาย) |
4 |
-2,147,483,648 ถึง 2,147,483,647 |
Unsigned (ไม่คิดเครื่องหมาย) |
0 ถึง 4,294,967,295 |
||
long |
signed (คิดเครื่องหมาย) |
4 |
-2,147,483,648 ถึง 2,147,483,647 |
Unsigned (ไม่คิดเครื่องหมาย) |
0 ถึง 4,294,967,295 |
ตัวอย่าง short int num1; short int num2; int ans1; int ans2; long int total; long int sum; หรือ short int num1, num2; int asn1, ans2; long int total, sum;
|
2. ชนิดข้อมูลแบบตัวอักษร (Character type)
ในภาษาซี Char (Character) เป็นชนิดข้อมูลตัวอักขระหนึ่งตัว มีขนาด 1 ไบต์ หรือ 8 บิต โดยจะกำหนดค่าให้อยู่ในเครื่องหมาย ' ' เป็นได้ทั้งตัวอักษร (Letter), ตัวเลข (Digital) และสัญลักษณ์พิเศษ(Special symbols) ลักษณะสำคัญของข้อมูลชนิดนี้คือ ไม่สามารถนำไปคำนวณได้ เช่น ตัวอักษร '10' จะแตกต่างกับตัวเลข 10 ดังนั้น '10'+10 จึงไม่สามารถประมวลผลได้
char variable name; |
ตัวอย่าง char ch1: char ch2; char ch3 = 'B'; หรือ char ch1, ch2;
|
3. ชนิดข้อมูลแบบจำนวนเลขทศนิยม (Floating point type)
Floating point เป็นข้อมูลชนิดตัวเลขที่มีจุดทศนิยมซึ่งข้อมูลแต่ละประเภท จะมีขอบเขตในการใช้งานที่แตกต่างกัน สามารถแบ่งออกเป็น 3 ประเภท คือ
ชนิดข้อมูล |
ขนาด (ไบต์) |
ช่วงข้อมูล |
Float | 4(32 บิต) | 3.4 x 10 ^-38 ถึง 3.4 x 10^38 |
double | 8 (64 บิต) | 1.7 x 10^-308 ถึง 1.7 x 10 ^308 |
log double | 16 (128 บิต) | 3.4 x 10 ^-4932 ถึง 1.1 x 10^4932 |
รูปแบบการประกาศตัวแปรชนิดข้อมูลแบบทศนิยม คือ
float variable name; double variable name; long double variable name; |
4. ชนิดข้อมูลแบบไม่มีค่า (Void) ข้อมูลชนิดนี้จะไม่มีค่าและจะไม่ใช้ในการกำหนดชนิดตัวแปร แต่สามารถนำข้อมูลชนิดนี้ไปกำหนดไว้ในฟังก์ชัน ถ้าไม่ต้องการให้ฟังก์ชันมีการรับค่าใด ๆ เข้ามาหรือส่งค่าใด ๆ กลับไป