วันเสาร์ที่ 10 มกราคม พ.ศ. 2558

ตัวคงที่


ตัวคงที่มีลักษณะคล้ายตัวแปร แตกต่างจากตัวแปรตรงที่ ค่าที่เก็บในตัวคงที่จะคงเดิมไม่มีวันเปลี่ยนแปลงจนกระทั่งจบโปรแกรม แต่ค่าที่เก็บตัวแปรสามารถเปลี่ยนแปลงได้ตลอดเวลา

 ค่าคงที่พื้นฐานที่สำคัญในภาษา  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”  เป็นต้น

การประกาศตัวคงที่
     การประกาศตัวคงที่ทำได้ วิธี ดังนี้




ที่มา : http://varried.blogspot.com/

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

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