วันอาทิตย์ที่ 25 พฤศจิกายน พ.ศ. 2555

ตัวแปรกับชนิดของข้อมูลในภาษาซี


ตัวแปรในภาษาซี
ตัวแปร (Variable) คือ การจองพื้นที่ในหน่วยความจำของคอมพิวเตอร์สำหรับเก็บข้อมูลที่ต้องใช้ในการทำงานของโปรแกรม โดยมีการตั้งชื่อเรียกหน่วยความจำในตำแหน่งนั้นด้วย เพื่อความสะดวกในการเรียกใช้ข้อมูล ถ้าจะใช้ข้อมูลใดก็ให้เรียกผ่านชื่อของตัวแปรที่เก็บเอาไว้


ชนิดของข้อมูล
ภาษาซีเป็นอีกภาษาหนึ่งที่มีชนิดของข้อมูลให้ใช้งานหลายอย่างด้วยกัน ซึ่งชนิดของข้อมูลแต่ละอย่างมีขนาดเนื้อที่ที่ใช้ในหน่วยความจำที่แตกต่างกัน และเนื่องจากการที่มีขนาดที่แตกต่างกันไป ดังนั้นในการเลือกใช้งานประเภทข้อมูลก็ควรจะคำนึงถึงความจำเป็นในการใช้งานด้วย สำหรับประเภทของข้อมูลมีดังนี้คือ
 - ชนิดข้อมูลมูลแบบจำนวนเต็ม หรือ Integer Type    (int)
เป็นชนิดข้อมูลที่เป็นตัวเลขจำนวนเต็ม ไม่มีทศนิยม ซึ่งภาษา C จะแบ่งข้อมูลชนิดนี้ออกได้เป็น 3 ระดับ คือ short int,int และ long int ซึ่งแต่ละระดับนั้นจะมีขอบเขตการใช้งานที่แตกต่างกัน ดังแสดงในตาราง
-  ชนิดข้อมูลแบบอักษร หรือ    Character Type    (char)
ข้อมูลชนิดนี้ก็คือ ตัวอักษรตั้งแต่ A-Z เลข 0-9 และสัญลักษณ์ต่าง ๆ ตามมาตรฐาน ACSII (American Standard Code Information Interchange) ซึ่งเมื่อกำหนดให้กับตัวแปรแล้วตัวแปรนั้นจะรับค่าได้เพียง 1 ตัวอักษรเท่านั้น และสามารถรับข้อมูลจำนวนเต็มตั้งแต่ถึง 127 จะใช้ขนาดหน่วยความจำ 1ไบต์หรือ 8 บิต
-  ชนิดข้อมูลแบบทศนิยม หรือ   Floating Point Type    (float)
       เป็นข้อมูลชนิดตัวเลขที่มีจุดทศนิยม ซึ่งสามารถแบ่งออกเป็น 3 ระดับ คือ float, double และ long double แต่ละระดับนั้นจะมีขอบเขตที่แตกต่างกันในการใช้งาน
ตารางแสดง ข้อมูลชนิดต่าง  ๆ
ชนิด
ขนาดความกว้าง
ช่วงของค่า
การใช้งาน
Char
8 บิต
ASCII character (-128 ถึง 127)
เก็บข้อมูลชนิดอักขระ
Unsigned char
8 บิต
0-255
เก็บข้อมูลอักขระแบบไม่คิดเครื่องหมาย
Int
16 บิต
-32768 ถึง 32767
เก็บข้อมูลชนิดจำนวนเต็ม
long
32 บิต
-2147483648 ถึง 2147483649
เก็บข้อมูลชนิดจำนวนเต็มแบบยาว
Float
32 บิต
3.4E-38 ถึง 3.4E+38 หรือ ทศนิยม 6
เก็บข้อมูลชนิดเลขทศนิยม
Double
64 บิต
1.7E-308 ถึง 1.7E+308 หรือ ทศนิยม 12
เก็บข้อมูลชนิดเลขทศนิยม
Unsigned int
16 บิต
0 ถึง 65535
เก็บข้อมูลชนิดจำนวนเต็ม ไม่คิดเครื่องหมาย
Unsigned long
32 บิต
0 ถึง 4294967296
เก็บข้อมูลชนิดจำนวนเต็มแบบยาว ไม่คิดเครื่องหมาย


รูปแบบในการประกาศตัวแปรในภาษาซี
                การสร้างตัวแปรขึ้นมาใช้งานจะเรียกว่า การประกาศตัวแปร (Variable Declaration) โดยเขียนคำสั่งให้ถูกต้องตามแบบการประกาศตัวแปร แสดงดังนี้

                เป็นการบอกว่ามีตัวแปรสองตัว  และเป็นตัวแปรประเภท Integer ดังนั้นตัวแปรทั้งสองตัวนี้จะใส่เลขจำนวนเต็มใดๆ ก็ได้ แต่ต้องอยู่ในช่วง -32767 ถึง +32767 (ขึ้นอยู่กับชนิดของคอมไพเลอร์)


กฎการตั้งชื่อตัวแปร
            ในการประกาศสร้างตัวแปรต้องมีการกำหนดชื่อ ซึ่งชื่อนั้นไม่ใช่ว่าจะตั้งให้สื่อความหมายถึงข้อมูลที่เก็บอย่างเดียว โดยไม่คำนึงถึงอย่างอื่น เนื่องจากภาษาซี มีข้อกำหนดในการตั้งชื่อตัวแปรเอาไว้ แล้วถ้าตั้งชื่อผิดกฎเหล่านี้ โปรแกรมจะไม่สามารถทำงานได้ กฎตั้งชื่อตัวแปรในภาษาซี
1.       ชื่อตัวแปรต้องขึ้นต้นด้วยตัวอักษร หรือเครื่องหมาย _ (Underscore) เท่านั้น
2.       ชื่อตัวแปรประกอบด้วยตัวอักษร A ถึง Z รวมถึงตัวเลข 0 ถึง 9 หรือเครื่องหมาย  _ (Underscore)
3.       ตัวพิมพ์ใหญ่ตัวพิมพ์เล็กมีความหมายต่างกัน
4.       ต้องไม่มีเว้นวรรคระหว่างชื่อตัวแปร
5.       ชื่อต้องไม่ซ้ำกับคำสงวน (Reserved Word) ที่โปรแกรมรู้จัก  ดังนี้

auto
default
float
register
struct
volatile
break
do
far
return
switch
While
case
double
goto
short
typedef
char
else
if
signed
union
const
enum
int
sizeof
unsigned
continue
extern
long
static
void





ตัวอย่างการตั้งชื่อตัวแปรในภาษาซี ทั้งที่ถูกต้องและไม่ถูกต้องตามกฎการตั้งชื่อตัวแปรของภาษาซี ดังนี้

Bath_room
ถูกต้อง
n-sync
ผิดกฎเนื่องจากมีเครื่องหมาย - อยู่ในชื่อ
108dots
ผิดกฎเนื่องจากขึ้นต้นด้วยตัวเลข
Year#
ผิดกฎเนื่องจากมีเครื่องหมาย # อยู่ในชื่อ
_good
ถูกต้อง
goto
ผิดกฎเนื่องจากเป็นคำสงวน
Work
ถูกต้อง
break
ผิดกฎเนื่องจากเป็นคำสงวน


ตัวแปรสำหรับข้อความ
                ในภาษาซีไม่มีการกำหนดชนิดของตัวแปรสำหรับข้อความโดยตรง แต่จะใช้การกำหนดชนิดของตัวแปรอักขระ (char) ร่วมกับการกำหนดขนาดแทน และจะเรียกตัวแปรสำหรับเก็บข้อความว่า ตัวแปรสตริง (string) รูปแบบการประกาศตัวแปรสตริงแสดงได้ดังนี้

char  name[n] = “str”;

     name         ชื่อของตัวแปร
     n               ขนาดของข้อความหรือจำนวนอักขระในข้อความ
     str             ข้อความเริ่มต้นที่จะกำหนดให้กับตัวแปรซึ่งต้องเขียนไว้ภายในเครื่องหมาย “ ”

ตัวอย่างการประกาศตัวแปรสำหรับเก็บข้อความ แสดงได้ดังนี้

char  name[5]=”tita”;     สร้างตัวแปร name สำหรับเก็บข้อความ tita ซึ่งมี  4 ตัวอักษร ดังนั้น name ต้องมีขนาด 5
char  year[5]=”2555”;     สร้างตัวแปร year สำหรับเก็บข้อความ 2555 ซึ่งมี  4 ตัวอักษร ดังนั้น year ต้องมีขนาด 5
char  [product_id[4]=”A01”;        สร้างตัวแปร product_id สำหรับเก็บข้อความ A01 ซึ่งมี  4 ตัวอักษร
                                                                     ดังนั้น product_id ต้องมีขนาด 4

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

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