| ภาษา 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 |
2 |
-32,768 ถึง 32,767 |
0 ถึง 65,535 |
||
int |
4 |
-2,147,483,648 ถึง 2,147,483,647 |
0 ถึง 4,294,967,295 |
||
long |
4 |
-2,147,483,648 ถึง 2,147,483,647 |
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) ข้อมูลชนิดนี้จะไม่มีค่าและจะไม่ใช้ในการกำหนดชนิดตัวแปร |
| แต่สามารถนำข้อมูลชนิดนี้ไปกำหนดไว้ในฟังก์ชัน ถ้าไม่ต้องการให้ฟังก์ชันมีการรับค่าใด ๆ เข้ามาหรือส่งค่าใด ๆ กลับไป |


