ตัวแปรในภาษาซี
ตัวแปร (Variable) คือ การจองพื้นที่ในหน่วยความจำของคอมพิวเตอร์สำหรับเก็บข้อมูลที่ต้องใช้ในการทำงานของโปรแกรม โดยมีการตั้งชื่อเรียกหน่วยความจำในตำแหน่งนั้นด้วย เพื่อความสะดวกในการเรียกใช้ข้อมูล ถ้าจะใช้ข้อมูลใดก็ให้เรียกผ่านชื่อของตัวแปรที่เก็บเอาไว้
ชนิดของข้อมูล
ภาษาซีเป็นอีกภาษาหนึ่งที่มีชนิดของข้อมูลให้ใช้งานหลายอย่างด้วยกัน ซึ่งชนิดของข้อมูลแต่ละอย่างมีขนาดเนื้อที่ที่ใช้ในหน่วยความจำที่แตกต่างกัน และเนื่องจากการที่มีขนาดที่แตกต่างกันไป ดังนั้นในการเลือกใช้งานประเภทข้อมูลก็ควรจะคำนึงถึงความจำเป็นในการใช้งานด้วย สำหรับประเภทของข้อมูลมีดังนี้คือ
ภาษาซีเป็นอีกภาษาหนึ่งที่มีชนิดของข้อมูลให้ใช้งานหลายอย่างด้วยกัน ซึ่งชนิดของข้อมูลแต่ละอย่างมีขนาดเนื้อที่ที่ใช้ในหน่วยความจำที่แตกต่างกัน และเนื่องจากการที่มีขนาดที่แตกต่างกันไป ดังนั้นในการเลือกใช้งานประเภทข้อมูลก็ควรจะคำนึงถึงความจำเป็นในการใช้งานด้วย สำหรับประเภทของข้อมูลมีดังนี้คือ
1. ข้อมูลชนิดตัวอักษร (Character) คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็มได้แก่ ตัวอักษร ตัวเลข และกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต์
2. ข้อมูลชนิดจำนวนเต็ม (Integer) คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ ศูนย์ ใช้พื้นที่ในการเก็บ 2 ไบต์
3. ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer) คือข้อมูลที่มีเลขเป็นจำนวนเต็ม ใช้พื้นที่ 4 ไบต์
4. ข้อมูลชนิดเลขทศนิยม (Float) คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์
5. ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double) คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บ 8 ไบต์
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
name : ชื่อของตัวแปร ซึ่งต้องตั้งให้ถูกต้องตามหลักของภาษา C
การเขียนคำสั่งเพื่อประกาศตัวแปร ส่วนใหญ่แล้วจะเขียนไว้ในส่วนหัวของโปรแกรมก่อนฟังก์ชัน main ซึ่งการเขียนไว้ในตำแหน่งดังกล่าว จะทำให้ตัวแปรเหล่านั้นสามารถเรียกใช้จากที่ใดก็ได้ในโปรแกรม ดังตัวอย่าง
#include <stdio.h> | |
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 |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น