ใบความรู้ที่ 4.2
ตัวแปรและชนิดของข้อมูล
ในการเขียนโปรแกรมด้วยภาษาซีนั้น
หากมีการประกาศตัวแปรขึ้นมาใช้งานแล้ว
ผู้เขียนโปรแกรมจะต้องระบุชนิดข้อมูลให้กับตัวแปรแต่ละตัวด้วย
ใบความรู้นี้จะอธิบายเกี่ยวกับ ตัวแปร และชนิดข้อมูลต่างๆ
ตัวแปร (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)
1.ชนิดข้อมูลแบบ void
ชนิดข้อมูลแบบนี้จะไม่มีค่า
ซึ่งเราจะไม่ใช้ชนิดข้อมูลแบบ void นี้กำหนดให้กับตัวแปร
แต่จะนำชนิดข้อมูลประเภทนี้กำหนดไว้ที่ฟังก์ชั่นในกรณีที่ไม่ต้องการให้ฟังก์ชั่นมีการรับค่าใด
ๆ เข้ามาหรือส่งค่าใด ๆ กลับไป
2.ชนิดข้อมูลแบบตัวอักษร (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”;
|
จะเห็นว่าเครื่องหมาย [ ] ของอาร์เรย์เป็นเครื่องหมายที่ใช้กำหนดขนาดของอาร์เรย์
ว่าให้อาร์เรย์เก็บข้อมูลได้กี่ตัวอักษร
จากตัวอย่างจะพบว่ามีการกำหนดขนาดของอาร์เรย์เป็น 23 ช่องตัวอักษร ซึ่งในความเป็นจริงจะเก็บตัวอักษรได้เพียง 22 ตัวเท่านั้น เพราะสตริงจะใช้ช่องสุดท้ายในการเก็บ ‘\0’ หรือ Null
Character เสมอ เพื่อแสดงถึงการสิ้นสุดของสตริง
ดังนั้นหากต้องการเก็บข้อมูล 10 ตัวอักษร จะต้องกำหนดเป็น char data[11];
3.ชนิดขอมูลแบบเลขจำนวนเต็ม (integer)
เป็นชนิดขอมูลแบบเลขจำนวนเต็ม เช่น 1, 3,50, ... เรียกอีกอย่างว่า Integer
Number
4.ชนิดขอมูลแบบเลขทศนิยม (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;
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น