ตัวแปรกับชนิดของข้อมูล
ตัวแปรในภาษาซี
ตัวแปร (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
Comments 0