ตัวแปรกับชนิดของข้อมูล

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

ชนิด

ขนาดความ

กว้าง

ช่วงของค่า

การใช้งาน

 char  8บิต  ASCII characte(-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  เก็บข้อมูลชนิดจำนวนเต็มแบบยาว ไม่คิดเครื่องหมาย

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

type name;type : ชนิดของตัวแปร

name : ชื่อของตัวแปร ซึ่งต้องตั้งให้ถูกต้องตามหลักของภาษา C

การเขียนคำสั่งเพื่อประกาศตัวแปร ส่วนใหญ่แล้วจะเขียนไว้ในส่วนหัวของโปรแกรมก่อนฟังก์ชัน main ซึ่ง
การเขียนไว้ในตำแหน่งดังกล่าว จะทำให้ตัวแปรเหล่านั้นสามารถเรียกใช้จากที่ใดก็ได้ในโปรแกรม ดังตัวอย่าง
#include <stdio.h>
int num;                                      สร้างตัวแปรชื่อ num เพื่อเก็บข้อมูลชนิดจำนวนเต็ม
float h;                                         สร้างตัวแปรชื่อ h เพื่อเก็บข้อมูลชนิดเลขทศนิยม
int main()
{
printf(“Enter number : “)
scanf(“%d”,&num);
printf(“Enter height : “);
scanf(“%f”,&h);
printf(“Thank you”);
getch();
return 0;
}

หลักการตั้งชื่อตัวแปร
ในการประกาศสร้างตัวแปรต้องมีการกำหนดชื่อ ซึ่งชื่อนั้นไม่ใช่ว่าจะตั้งให้สื่อความหมายถึงข้อมูลที่เก็บ
อย่างเดียว โดยไม่คำนึงถึงอย่างอื่น เนื่องจากภาษา C มีข้อกำหนดในการตั้งชื่อตัวแปรเอาไว้ แล้วถ้าตั้งชื่อผิด
หลักการเหล่านี้ โปรแกรมจะไม่สามารถทำงานได้ หลักการตั้งชื่อตัวแปรในภาษา C แสดงไว้ดังนี้
1. ต้องขึ้นต้นด้วยตัวอักษร A-Z หรือ a-z หรือเครื่องหมาย _(Underscore) เท่านั้น
2. ภายในชื่อตัวแปรสามารถใช้ตัวอักษร A-Z หรือ a-z หรือตัวเลข0-9 หรือเครื่องหมาย _
3. ภายในชื่อห้ามเว้นช่องว่าง หรือใช้สัญลักษณ์นอกเหนือจากข้อ 2
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

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

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

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

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

ตัวอย่างการประกาศตัวแปรสำหรับเก็บข้อความ แสดงได้ดังนี้
char name[5] = “kwan” ;          สร้างตัวแปร name สำหรับเก็บ ข้อความ kwan ซึ่งมี 4 ตัวอักษร ดังนั้น name ต้องมีขนาด 5
char year[5] = “2549”;               สร้างตัวแปร year สำหรับเก็บ ข้อความ 2549 ซึ่งมี 4 ตัวอักษร ดังนั้น year ต้องมีขนาด 5
char product_id[4] = “A01”;    สร้างตัวแปร product_id สำหรับเก็บ ข้อความ A01 ซึ่งมี 3 ตัวอักษร ดังนั้น product_id
ต้องมีขนาด 4

Posted on September 15, 2013, in ภาษาซี. Bookmark the permalink. Leave a comment.

Leave a comment