Open top menu
วันพฤหัสบดีที่ 24 ธันวาคม พ.ศ. 2558

ชนิดข้อมูลพื้นฐาน    มีด้วยกัน  5  ประเภท  คือ

                         1)  char  (1  ไบต์)
                         2)  int     (2  ไบต์)
                         3)  float  (4  ไบต์)
                         4)  double  (8  ไบต์)
                         5)  void   (0  ไบต์)


ตารางแสดงชนิดข้อมูลพื้นฐานของภาษาซี
ชนิดข้อมูล
ความหมาย
ไบต์ (bytes)
พิสัย (range)
char
int
float
double
void
อักษรหรืออักขระ
จำนวนเต็ม
จำนวนจริง (เลขทศนิยม)
จำนวนจริงละเอียด 2 เท่า
ไม่ให้ค่าใด ๆ
1
2
4
8
0
-128 ถึง 127
-32,768 ถึง 32,767
3.4E + 38(7 ตำแหน่ง)
1.7E + 308 (15 ตำแหน่ง)
ไม่ให้ค่า

             ชนิดข้อมูลในตารางด้านบนนั้น ตัวแปรจะมี  4  ประเภทเท่านั้นที่สามารถเก็บข้อมูลเหล่านี้เพื่อ
ความคล่องตัว และสามารถเก็บข้อมูลนอกเหนือจากนี้ได้  ในภาษาซีจึงได้สร้างตัวแปรชนิดข้อมูลแบบ
  คิดเครื่องหมาย (signed) ,  ไม่คิดเครื่องหมาย (unsigned) , ยาว (long)  และ สั้น (short) เพิ่มเติมขึ้นมา
ดังตารางด้านล่าง
ตารางแสดงชนิดของตัวแปรในภาษาซี
ชนิดข้อมูล
ความหมาย
ไบต์ (bytes)
พิสัย (range)
char
คิดเครื่องหมาย
1
-128 ถึง 127
int
คิดเครื่องหมาย
2
-32,768 ถึง 32,767
short
คิดเครื่องหมาย
2
-32,768 ถึง 32,767
short int
คิดเครื่องหมาย
2
-32,768 ถึง 32,767
long
คิดเครื่องหมาย
4
-2,147,483,648 ถึง
2,147,483,647
long int
คิดเครื่องหมาย
4
-2,147,483,648 ถึง
2,147,483,647
Unsigned Char
ไม่คิดเครื่องหมาย
1
0  ถึง  255
 Unsigned
ไม่คิดเครื่องหมาย
2
0  ถึง  65,535
Unsigned int
ไม่คิดเครื่องหมาย
2
0  ถึง  65,535
Unsigned short
ไม่คิดเครื่องหมาย
2
0  ถึง  65,535
Unsigned Long
ไม่คิดเครื่องหมาย
4
0  ถึง  4,294,967,295
Unsigned Char
คิดเครื่องหมาย
1
-128  ถึง  127
signed
คิดเครื่องหมาย
2
-32,768 ถึง 32,767
signed  int
คิดเครื่องหมาย
2
-32,768 ถึง 32,767
signed  short
คิดเครื่องหมาย 
2
-32,768 ถึง 32,767
signed  Long
คิดเครื่องหมาย 
4
-2,147,483,648 ถึง
2,147,483,647

             คำสงวนในภาษาซี

                   คำสงวน หมายถึง คำที่สงวนไว้สำหรับเรียกใช้ตามวัตถุประสงค์ที่กำหนดไว้เฉพาะ
เช่น  คำที่ใช้ในคำสั่งควบคุม และชนิดของข้อมูล เป็นต้น คำสงวนของภาษาซี  เช่น                      

auto
break
case
char
const
continue


default
do
double
else
enum
extern


float
far
goto
if
int
long


register
return
short
signed
sizeof
static


struct
switch
typedef
union
unsigned
void


volatile
while
 ตัวแปร (Variables)  
               คือ ชื่อเรียกแทนพื้นที่เก็บข้อมูลในหน่วยความจำ การกำหนดตัวแปรทำได้ 2 แบบ คือ
              1)  กำหนดไว้นอกกลุ่มคำสั่ง หรือ ฟังก์ชั่น  เรียกตัวแปรนี้ว่า Global Variable  กำหนดไว้นอกฟังก์ชั่น ใช้งานได้ทั้งโปรแกรม มีค่าเริ่มต้นเป็น 0 (กรณีไม่ได้กำหนดค่าเริ่มต้น)
              2)  กำหนดไว้ในกลุ่มคำสั่ง หรือ ฟังก์ชั่น  เรียกตัวแปรนี้ว่า  Local Variable  กำหนดไว้ภายในฟังก์ชั่น ใช้งานได้ภายในฟังก์ชั่นนั้น และไม่ถูกกำหนดค่าเริ่มต้นโดยอัตโนมัติ
              การประกาศตัวแปร  มีลักษณะดังนี้
              กฎในการตั้งชื่อตัวแปร   มีดังนี้
               1. ประกอบด้วยตัวอักษร  ตัวอักษรปนเลข  หรือปนเครื่องหมาย underscore ( _ ) ได้
               2. ตัวแรกจะต้องเป็นตัวอักษรหรือเครื่องหมาย underscore ( _ )  เท่านั้น
               3. ถ้าใช้  underscore เป็นส่วนของชื่อจะต้องอยู่ระหว่างตัวอักษรหรือตัวเลขเสมอ
               4. มีความยาวได้ตั้งแต่  1  ตัวอักขระ ไปจนถึง 32 ตัวอักขระ (เฉพาะเทอร์โบซ แต่บางเครื่องอาจได้น้อยหรือมากกว่านี้)
               5. ห้ามตั้งชื่อซ้ำกับคำสงวน (Reserved word)
               6. ชื่อที่ตั้งขึ้นแล้ว เขียนเป็นตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ หรือตัวพิมพ์ใหญ่ปนตัวพิมพ์เล็ก จะถือว่าเป็นคนละชื่อกันหมด เช่น  count, COUNT, Count  จะถือเป็น 3 ชื่อตัวแปรที่แตกต่างกัน
ชื่อตัวแปรที่ถูก
ชื่อตัวแปรที่ผิด
Count
Num12
m_mum
1count
num !
m..mun

   ข้อสังเกต   การกำหนดชนิดของตัวแปร มีสิ่งที่ควรพิจารณาอยู่  2  ประการ  คือ  ตัวแปรนั้นจะต้องสามารถรับค่าได้ทุกค่า โดยไม่เกินขอบเขตของข้อมูลชนิดนั้น และตัวแปรจะต้องไม่ใช้หน่วยความจำมากเกินความจำเป็น เช่น ถ้าข้อมูลไม่เกินขอบเขตของ  int  ก็ไม่ควรกำหนดตัวแปรให้เป็น  float

  ค่าคงที่ (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”  ภายในหน่วยความจำ