วันเสาร์ที่ 28 พฤศจิกายน พ.ศ. 2552

ตัวแปรภาษาซี

ตัวแปรในภาษาซี

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

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

1. ข้อมูลชนิดตัวอักษร (Character) คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็มได้แก่ ตัวอักษร ตัวเลข และกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต์
2. ข้อมูลชนิดจำนวนเต็ม (Integer) คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ ศูนย์ ใช้พื้นที่ในการเก็บ 2 ไบต์
3. ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer) คือข้อมูลที่มีเลขเป็นจำนวนเต็ม ใช้พื้นที่ 4 ไบต์
4. ข้อมูลชนิดเลขทศนิยม (Float) คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์
5. ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double) คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บ 8 ไบต

ชนิด
ขนาดความกว้าง
ช่วงของค่า
การใช้งาน
Char
8 บิต
ASCII character (-128 ถึง 127) เก็บข้อมูลชนิดอักขระ
Unsignedchar
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
int num; สร้างตัวแปรชื่อ num เพื่อเก็บข้อมูลชนิดจำนวนเต็ม
float y; สร้างตัวแปรชื่อ y เพื่อเก็บข้อมูลชนิดเลขทศนิยม
char n; สร้างตัวแปรชื่อ n เพื่อเก็บข้อมูลชนิดตัวอักขระ
void main()
{
printf("Enter number : ")
scanf("%d",&num);
printf("Enter name : ");
scanf("%f",&n);
printf("Thank you");
}

หลักการตั้งชื่อตัวแปร

ในการประกาศสร้างตัวแปรต้องมีการกำหนดชื่อ ซึ่งชื่อนั้นไม่ใช่ว่าจะตั้งให้สื่อความหมายถึงข้อมูลที่เก็บอย่างเดียว โดยไม่คำนึงถึงอย่างอื่น เนื่องจากภาษา 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

4 ความคิดเห็น:

_::BonTaKung::_ กล่าวว่า...

เหมือนได้อ่านในหนังสือเย้ย คิคิ

Salix_LivE กล่าวว่า...

คุ้นๆเนอะ

เหมือนที่จานกั๊มสอนเลย

IssaBell กล่าวว่า...

ดีจะได้ไม่ต้องไปหาอีก มีรายละเอียดในนี้ครบเลย

|\/|-|๐opri\/| กล่าวว่า...

ยังไงยังไง...
ก็ไม่เข้าใจอยู่ดี
555+
ล้อเล่น
ช่วยได้เยอะเลย