วันพฤหัสบดีที่ 8 มกราคม พ.ศ. 2558

ชนิดข้อมูล

4. ชนิดขอมูล

        ในการใชงานตัวแปรนั้นสิ่งสํ าคัญที่จะตองคํ านึงถึงคือขอมูลที่เก็บอยูภายในตัวแปรนั้น ขอมูลแตละชนิดมีคุณสมบัติแตกตางกันไป เชน เปนเลขจํ านวนเต็ม เปนเลขจํ านวนจริง เปนตัวอักษร เปนตน ผูเขียนโปรแกรมจะตองกํ าหนดชนิดขอมูลใหกับตัวแปรโดยสอดคลองกับขอมูลที่ตองการเก็บ ภาษาซีแบงขอมูลออกเปนชนิดตาง ๆ ซึ่งมีขนาดพื้นที่ที่ตองใชเก็บขอมูลในหนวยความจํ าแตกตางกันขึ้นอยูกับชนิดขอมูลและบริษัทผูผลิตคอมไพเลอร ซึ่งสามารถดูรายละเอียดไดจากอินคลูชไฟล limits.h และ float.h

เมื่อนํามาจัดเปนประเภทขอมูลเราสามารถแบงชนิดของขอมูลในภาษาซี
ออกเปนประเภทหลักได 3 ชนิด คือ
1. จํานวนเต็ม ไดแกขอมูลชนิด int, short, long, unsigned int, unsigned short และ unsigned long
2. จํ านวนจริง คือ ขอมูลที่เปนเลขจํ านวนจริง มีทศนิยม หรืออยูในรูปของนิพจนวิทยาศาสตร ได
แกขอมูลชนิด float และ double
3. ตัวอักขระและสตริง (String) ไดแกขอมูลชนิด char ซึ่งเก็บขอมูลได 1 อักขระ และขอมูลที่เปน
ชุดของขอมูล char (Array of char) ที่ใชเก็บสตริงซึ่งจะกลาวถึงตอไป

• รูปแบบการเขียนคาตาง ๆ ที่เปนไปไดของขอมูลแตละชนิด ไดแก
- จํานวนเต็ม กรณีเขียนเปนเลขฐาน 10 เชน 125 0 -154
 กรณีเขียนเปนเลขฐาน 8 ใหขึ้นตนดวย 0 เชน 0377 0177 0000 01
 กรณีเขียนเปนเลขฐาน 16 ใหขึ้นตนดวย 0x หรือ 0X เชน 0XFF 0x14 0x4B
 กรณีขอมูลเปนชนิด long ใหลงทายดวย l หรือ L เชน 123L 0437l 0x4FFL

- จํานวนจริง เขียนรูปแบบทศนิยม เชน 12.524 0.1259 0.00001
 เขียนรูปแบบนิพจนวิทยาศาสตร เชน 1.0E4 12.432e-4 1E-4 2E+3
 กรณีขอมูลเปน float เชน 1.4321F 472.324f
 กรณีขอมูลเปน double เชน 232.98D 1.2323d

- ตัวอักขระ เชน ‘a’ ‘W’ ‘\a’ ‘\t’ โดยที่อักขระใดขึ้นตนดวย \
 แสดงวาเปนอักขระพิเศษ เชน ‘\a’ แทนการสงเสียง
‘\t’ แทนการยอหนา
‘\n’ แทนการขึ้นบรรทัดใหม
‘\0’ แทนคา NULL ซึ่งหมายถึงคาวาง
นอกจากนี้ยังสามารถใชในลักษณะเลขฐาน 8 และเลขฐาน 16 ไดดังนี้ ตัวอยาง
เชน ‘X’ ในตาราง ASCII ตรงกับเลขฐาน 8 คือ 130 และเลขฐาน 16 คือ 58
เขียนแทนคาคงที่อักขระไดคือ ‘\130’ และ ‘\x58’ ตามลํ าดับ
char ch1=’X’;
char ch2 = ‘\130’;
char ch3 = ‘\x58’;
ถาสั่งใหพิมพคาตัวแปร ch1 ch2 และ ch3 จะพิมพคาเดียวกันคือ X

- สตริง จะเขียนอยูในเครื่องหมาย “ เชน “Hello” โดยที่ในสตริงทุกตัวจะมีอักขระพิเศษที่
ไมสามารถมองเห็นคือ ‘\0’ หรือ NUL เปนตัวสุดทายเสมอ ในขณะที่อักขระจะจอง
พื้นที่หนวยความจํ าเพียง 1 ไบต ในตัวอยางจะไดวาเกิดการจองพื้นที่ขึ้น 6 ตัว
อักษร ตัวอยางการประกาศตัวแปรสตริง
char msg[ ] = “Hello”

ไม่มีความคิดเห็น:

แสดงความคิดเห็น