วันจันทร์ที่ 4 มีนาคม พ.ศ. 2556

ภาษา C/C++ ว่าด้วยเรื่องของตัวแปร

ภาษาซี c/c++ เป็นภาษาระดับสูง ที่คนเราสามารถเข้าใจได้ (แต่ในความคิดผม ว่ามันคือภาษาระดับกลาง เพราะว่าเวลาเขียนเราจะสามารถที่จะเข้าถึงส่วนการทำงานของ Hardware ได้ เรียกได้ว่ากำหนดตำแหน่งของ Address ใน Ram กันได้เลยทีเดียว) ตอนนี้เรามาดูเรื่องของตัวแปรใน ภาษา c/c++ สุดคลาสสิกนี้กัน
สำหรับคนที่เพิ่งเขียนโปรแกรมใหม่ๆ หรือมือใหม่ จะเข้าใจว่าการเขียนโปรแกรมบน Dos หรือ Unix เป็นเรื่องที่ยากมากเพราะต้องทำความเข้าใจในการสั่งงาน Hardware ส่วนๆให้เก็บข้อมูลและแสดงผลภาพ ยิ่งแค่เด็กใหม่ที่ฝึกเขียนโปรแกรมจาก VB ละก็ จะเข้าในว่าภาษา c/c++ นั้นเขียนยากมาก ทั้งๆที่การประกาศตัวแปรนั่นง่ายมากเช่นการเก็บค่า 10 ลงในตัวแปร mynum ดังต่อไปนี้

int mynum = 10;

ห๋า ทำไมมันง่ายขนาดนี้ ถ้าเป็น VB คง Dim mynum As Integer = 10 กันยาวแน่ , ใช่ครับเด็กไทยหลายคนมองข้ามภาษาสุด Classic นี้ไปเพียงเพราะว่ามันไม่มีให้ลากแปะ ทั้งๆที่โครงสร้างภาษานั้นล้ำยุคเกินอายุของมันนับสิบปี เรามาดูว่ามันมีชนิดข้อมูลหลักๆอะไรบาง

ชนิดของตัวแปรในภาษาซี
ชนิดของตัวแปร ขนาด (bits) ขอบเขต ข้อมูลที่เก็บ
char
8
-128 ถึง 127
ข้อมูลชนิดอักขระ ใช้เนื้อที่ 1 byte
unsigned char
8
0 ถึง 255
ข้อมูลชนิดอักขระ ไม่คิดเครื่องหมาย
int
16
-32,768 ถึง 32,767
ข้อมูลชนิดจำนวนเต็ม ใช้เนื้อที่ 2 byte
unsigned int
16
0 ถึง 65,535
ข้อมูลชนิดจำนวนเต็ม ไม่คิดเครื่องหมาย
short
8
-128 ถึง 127
ข้อมูลชนิดจำนวนเต็มแบบสั้น ใช้เนื้อที่ 1 byte
unsigned short
8
0 ถึง 255
ข้อมูลชนิดจำนวนเต็มแบบสั้น ไม่คิดเครื่องหมาย
long
32
-2,147,483,648 ถึง 2,147,483,649
ข้อมูลชนิดจำนวนเต็มแบบยาว ใช้เนื้อที่ 4 byte
unsigned long
32
0 ถึง 4,294,967,296
ข้อมูลชนิดจำนวนเต็มแบบยาว ไม่คิดเครื่องหมาย
float
32
3.4*10e(-38) ถึง 3.4*10e(38)
ข้อมูลชนิดเลขทศนิยม ใช้เนื้อที่ 4 byte
double
64
3.4*10e(-308) ถึง 3.4*10e(308)
ข้อมูลชนิดเลขทศนิยม ใช้เนื้อที่ 8 byte
long double
128
3.4*10e(-4032) ถึง 1.1*10e(4032)
ข้อมูลชนิดเลขทศนิยม ใช้เนื้อที่ 16 byte

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

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

  1. วิธ๊การเป็นสิ่งสำคัญนะ

    ตอบลบ
    คำตอบ
    1. ครับ ไม่เถียงครับ มันก็จริงอย่างพี่ว่า ^^

      ลบ