ตัวคงที่มีลักษณะคล้ายตัวแปร แตกต่างจากตัวแปรตรงที่ ค่าที่เก็บในตัวคงที่จะคงเดิมไม่มีวันเปลี่ยนแปลงจนกระทั่งจบโปรแกรม แต่ค่าที่เก็บตัวแปรสามารถเปลี่ยนแปลงได้ตลอดเวลา
ค่าคงที่พื้นฐานที่สำคัญในภาษา C มีดังนี้
1) ค่าคงที่ชนิดตัวเลขจำนวนเต็ม (integer constant)
ค่าคงที่ชนิดนี้จะเป็นตัวเลขจำนวนเต็มซึ่งอาจมีเครื่องหมายบวกหรือลบก็ได้ เช่น 0, 9, 85, -698, 1832, -2080 เป็นต้น โดยตัวเลขจำนวนเต็มที่จะสามารถเก็บได้ปรกติจะอยู่ในช่วง -32768 ถึง 32767 เท่านั้น บางครั้งเรานิยมเรียกค่าคงที่ชนิดนี้ว่าค่าคงที่ int (integer)
สำหรับการเก็บค่าคงที่ชนิด int นี้ภายในหน่วยความจำ จะใช้เนื้อที่ 2 bytes นอกจากนี้ยังสามารถเขียนค่าคงที่ชนิดนี้ให้อยู่ในรูปแบบตัวเลขฐานแปดและฐานสิบหกได้ โดยใช้ตัวเลขศูนย์ (0) นำหน้าแล้วตามด้วยเลขฐานแปดที่ต้องการหรือจะใช้ตัวเลขศูนย์เอ็กซ์ (0x หรือ 0X) นำหน้าแล้วตามด้วยเลขฐานสิบหกที่ต้องการ เช่น 046, 027, 0xBD, 0X1BCF เป็นต้น
2) ค่าคงที่ชนิดตัวเลขทศนิยม (floating point constant)
ค่าคงที่ชนิดนี้จะเป็นตัวเลขจำนวนทศนิยม ซึ่งอาจจะมีเครื่องหมายบวก หรือลบก็ได้ หรือเป็นตัวเลขที่สามารถเขียนอยู่ในรูป E ยกกำลังได้ เช่น 3.0, 0.234, -0.54, 4E-06, 1.675E+10 เป็นต้น โดยตัวเลขทศนิยมนี้จะสามารถเก็บได้ปรกติจะอยู่ในช่วง 1.2E-38 ถึง 3.4E+38 เท่านั้น
สำหรับการเก็บค่าคงที่ชนิด float นี้จะใช้เนื้อที่ภายในหน่วยความจำ 4 bytes โดยที่ 3 bytes แรกจะเก็บค่าตัวเลขทศนิยม ส่วนอีก 1 bytes สุดท้ายจะเก็บค่ายกกำลังเอาไว้
3) ค่าคงที่ตัวเลขทศนิยมที่มีความละเอียดสองเท่า (double floating point)
ค่าคงที่ชนิดนี้นิยมเรียกว่า ค่าคงที่แบบ double ซึ่งจะสามารถเก็บตัวเลขทศนิยมที่มีค่าอยู่ในช่วง 2.2E-308 ถึง 1.8E+308 เท่านั้น
สำหรับการเก็บค่าคงที่ชนิด double นี้ จะใช้เนื้อที่ภายในหน่วยความจำ 8 bytes โดยใช้ 7 bytes แรกเก็บค่าตัวเลขทศนิยม ส่วนอีก 1 bytes สุดท้ายจะเก็บค่ายกกำลังเอาไว้ เช่นเดียวกับค่าคงที่ชนิด float
4) ค่าคงที่ชนิดตัวอักขระตัวเดียว (single character constant)
ค่าคงที่ชนิดนี้จะสามารถเก็บตัวอักขระได้เพียง 1 ตัวอักขระ โดยอยู่ภายในเครื่องหมาย ‘ ’ (single quotation) เช่น ‘5’, ‘X’, ‘c’ เป็นต้น
สำหรับการเก็บค่าคงที่ชนิด single character constant จะใช้เนื้อที่ภายในหน่วยความจำ 1 bytes
5) ค่าคงที่ชนิดข้อความ (strings constant)
ค่าคงที่ชนิดนี้จะเก็บตัวอักขระที่มีความยาวตั้งแต่ 1 ตัวขึ้นไป โดยจะเก็บอยู่ในรูปของข้อมูลอะเรย์ (arrays) ซึ่งในแต่ละตัวอักขระจะใช้เนื้อที่ในการเก็บ 1 bytes เรียงติดต่อกันไปจนกระทั้งจบข้อความ และใน byte สุดท้ายจะเก็บ \0 (null character) เอาไว้เพื่อเป็นการบอกว่า จบข้อความแล้ว การเขียนค่าคงที่ชนิดข้อความจะต้องเขียนอยู่ภายในเครื่องหมาย “……” (double quotation) เช่น “X”, ”computer”, “4567”, “c” เป็นต้น
การประกาศตัวคงที่
การประกาศตัวคงที่ทำได้ 2 วิธี ดังนี้
ที่มา :
http://varried.blogspot.com/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น