ค่าคงที่
(Constant)
ค่าคงที่
(Constant)
คือ ค่าของข้อมูลที่มีจำนวนแน่นอน
เป็นค่าที่ไม่สามารถเปลี่ยนแปลงได้ขณะรันโปรแกรม
การประกาศค่าคงที่
มีลักษณะดังนี้
ตัวอย่าง
const
float Pi
= 3.1415;
หมายความว่า
Pi เป็นค่าคงที่ชนิด
float ซึ่งมีค่าเท่ากับ
3.1415
การประกาศค่าคงที่
แบ่งตามชนิดต่าง
ๆ ได้ดังนี้
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” เป็นต้น
ตัวอย่าง
แสดงการเก็บข้อมูลชนิดข้อความ คำว่า “COMPUTER” ภายในหน่วย
ความจำ จะมีลักษณะดังนี้
แสดงการเก็บข้อมูลชนิดข้อความคำว่า “COMPUTER” ภายในหน่วยความจำ
|