ในการเขียนโปรแกรมด้วยภาษาซีนั้น หากมีการประกาศตัวแปรขึ้นมาใช้งานแล้ว ผู้เขียนโปรแกรมจะต้องระบุชนิดข้อมูลให้กับตัวแปรแต่ละตัวด้วย ใบความรู้นี้จะอธิบายเกี่ยวกับ ตัวแปร และชนิดข้อมูลต่างๆ
ตัวแปร (Variables)
ตัวแปร คือ ชื่อที่กำหนดขึ้นมาเพื่อใช้ในการเก็บข้อมูล ซึ่งการประกาศใช้ตัวแปรขึ้นมาใช้งานจะเป็นไปตามกฎการตั้งชื่อที่ดังนี้
กฎการตั้งชื่อ
กฎการตั้งชื่อนี้หมายรวมไปถึงการตั้งชื้อให้กับฟังก์ชัน ค่าคงที่ และชื่ออื่น ๆ ในภาษาซีด้วย โดยมีข้อกำหนดดังนี้
1.ชื่อจะต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย Underscore (_) เท่านั้น จะขึ้นต้นด้วยตัวเลขหรือเครื่องหมายอื่นไม่ได้ แต่ภายในชื่อสามารถประกอบด้วยตัวอักษร เครื่องหมาย Underscore หรือ ตัวเลขก็ได้ เช่น TEST_Amount, Love1, g1_g2, _FirstName เป็นต้น
2.ชื่อจะประกอบด้วยอักขระพิเศษไม่ได้ เช่น $, @, #, &
3.ภายในชื่อมีช่องว่างหรือแท็บไม่ได้
4.ชื่อในภาษาซีเป็นแบบ Case-Sensitive คือ ตัวอักษรตัวใหญ่และตัวอักษรตัวเล็กจะถือเป็นคนละตัวกัน เช่น Test, test, tEsT จะถือว่าชื่อที่ตั้งขึ้นนี้เป็นคนละชื่อกัน
5.ชื่อที่ตั้งขึ้นต้องไม่ซ้ำกับคำสงวน (Reserved Word) ในภาษาซี ซึ่งมีดังนี้
auto
|
break
|
case
|
char
|
const
|
continue
|
default
|
do
|
double
|
else
|
enum
|
extern
|
float
|
for
|
goto
|
if
|
int
|
long
|
register
|
return
|
short
|
signed
|
sizeof
|
static
|
struct
|
switch
|
typedef
|
union
|
unsigned
|
void
|
volatile
|
while
|
ชนิดของข้อมูล (Data Type)
ชนิดของข้อมูล คือ สิ่งที่ใช้กำหนดลักษณะและขอบเขตของข้อมูลนั้นๆ โดยข้อมูลที่มีชนิดของข้อมูลแตกต่างกัน ก็จะเก็บข้อมูลได้ในลักษณะที่ต่างกัน และขอบเขตของข้อมูลที่เก็บได้ก็จะไม่เท่ากัน ซึ่งในภาษาซีแบ่งชนิดข้อมูลออกเป็น 4 แบบ ได้แก่
ชนิดข้อมูลแบบ void
ชนิดข้อมูลแบบ ตัวอักษร(character)
ชนิดข้อมูลแบบ ตัวเลขจำนวนเต็ม(integer)
ชนิดข้อมูลแบบเลขทศนิยม(floating)
ชนิดข้อมูลแบบ void
ชนิดข้อมูลแบบนี้จะไม่มีค่า ซึ่งเราจะไม่ใช้ชนิดข้อมูลแบบ void นี้กำหนดให้กับตัวแปร แต่จะนำชนิดข้อมูลประเภทนี้กำหนดไว้ที่ฟังก์ชั่นในกรณีที่ไม่ต้องการให้ฟังก์ชั่นมีการรับค่าใด ๆ เข้ามาหรือส่งค่าใด ๆ กลับไป
ชนิดข้อมูลแบบตัวอักษร (character)(1 ไบต์)
ชนิดข้อมูลประเภท char ซึ่งชนิดข้อมูลประเภทนี้จะเก็บข้อมูลได้ 1 ตัวอักษรเท่านั้น ผู้เขียนโปรแกรมอาจจะคิดว่า คอมพิวเตอร์ทำการเก็บข้อมูลชนิดตัวอักษรนี้ในรูปแบบของตัวอักษร เช่น char A='a'; แล้วคอมพิวเตอร์จะเก็บค่า a ไว้ในตัวแปร A แต่ในความจริงคอมพิวเตอร์จะเก็บข้อมูลในลักษณะของแอสกี (ASCII : American Standard Code for Information Interchange) เช่น ในที่นี้คอมพิวเตอร์จะเก็บค่าตัวแปร A เป็น 0110 0001 ในระบบเลขฐานสอง (มีค่าเท่ากับ 97ในระบบเลขฐานสิบ) ซึ่งจะเป็นรหัส แอสกีของอักษร a นั้นเอง ตัวอย่างเช่น
char data = ‘a’;
|
ส่วนข้อความที่มีความยาวมากกว่า 1 ตัวอักษร เรียกว่า สตริง (String) สามารถนำชนิดข้อมูลแบบตัวอักษรมากำหนดให้อยู่ในลักษณะของอาร์เรย์ (array) ดังนี้
char data[23] = “Information Technology”;
|
ชนิดขอมูลแบบเลขจำนวนเต็ม (integer)
เป็นชนิดขอมูลแบบเลขจำนวนเต็ม เช่น 1, 3,50, ... เรียกอีกอย่างว่า Integer Number
ชนิดขอมูลแบบเลขทศนิยม (floating-point)
เป็นชนิดข้อมูลแบบเลขทศนิยม หรือบางทีก็เรียกว่า เลขจำนวนจริง (Real Number) เช่น 10.0, 15.33, 20.00000, ...
ค่าคงที่ (Constants)
ค่าคงที่ (Constants) เป็นค่าข้อมูลชนิดหนึ่งที่ไม่มีการเปลี่ยนแปลงในขณะที่โปรแกรมทำงาน ตัวอย่างเช่น ค่า มีค่าเท่ากับ 3.14 เป็นต้น
รูปแบบการประกาศใช้งานค่าคงที่ กรณีกำหนดค่าคงที่โดยประกาศใช้งานไว้ในส่วนของเฮดเดอร์ไฟล์
#define ConstantName value
โดยที่ ConstantName คือ ชื่อของค่าคงที่
value คือ ค่าที่ต้องการกำหนดให้กับค่าคงที่
ตัวอย่างเช่น
#define VAT 0.07
#define TXT “Welcome to Thailand”
#define NEWLINE ‘\n’
#define ONE 1
ความสัมพันธ์ระหว่างตัวแปรและชนิดของข้อมูล
ความสัมพันธ์ระหว่างตัวแปรและชนิดของข้อมูลจะแสดงออกมาในรูปของ การประกาศตัวแปร กล่าวคือ ในการประกาศตัวแปรขึ้นใช้งาน จำเป็นอย่างยิ่งที่จะต้องกำหนดชนิดของข้อมูลให้กับตัวแปรนั้นด้วย การจะกำหนดชนิดข้อมูลให้กับตัวแปรใดๆ นั้น ต้องพิจารณาให้ดีว่าต้องการเก็บข้อมูลลักษณะใด แล้วเลือกชนิดข้อมูลให้เหมาะสม
รูปแบบการประกาศตัวแปร คือ
ชนิดของข้อมูล ตัวแปร;
เช่น char A; เป็นการประกาศตัวแปร A ให้เป็นชนิดข้อมูลแบบตัวอักษร
int B; เป็นการประกาศตัวแปร B ให้เป็นชนิดข้อมูลแบบเลขจำนวนเต็ม
float C, D; เป็นการประกาศตัวแปร C และ D ให้เป็นชนิดข้อมูลแบบเลข ทศนิยม
กรณีประกาศตัวแปรพร้อมกับกำหนดค่าเริ่มต้นให้กับตัวแปรด้วย ตัวอย่างเช่น
char data = ‘A’;
int value = 10;
float average = 3.1416;
|
กรณีประกาศตัวแปรก่อน จากนั้นจึงกำหนดค่าให้กับตัวแปรในภายหลัง ตัวอย่างเช่น
char data;
int value;
data = ‘A’;
value = 10;
ไม่มีความคิดเห็น:
แสดงความคิดเห็น