ภาษา 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) ข้อมูลชนิดนี้จะไม่มีค่าและจะไม่ใช้ในการกำหนดชนิดตัวแปร |
แต่สามารถนำข้อมูลชนิดนี้ไปกำหนดไว้ในฟังก์ชัน ถ้าไม่ต้องการให้ฟังก์ชันมีการรับค่าใด ๆ เข้ามาหรือส่งค่าใด ๆ กลับไป |