ตัวแปรในภาษาโปรแกรมมีความสําคัญอย่างไร

1. คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาสำหรับภาษา C, C++, Pascal การทำงานก็คือจะตรวจสอบความผิดพลาดของโค้ดคำสั่งตั้งแต่ต้นจนจบก่อน หรือเรียกว่าการคอมไพล์ ถ้าไม่มีข้อผิดพลาดก็จะทำการแปลโค้ดคำสั่งของเราให้เป็นไฟล์นามสกุล .obj (object file) จากนั้นก็ทำการแปลไฟล์ .obj ให้เป็นไบนารีไฟล์ .exe เพื่อทำงานต่อไป

2. อินเตอร์พรีเตอร์ (Interperter) จะทำงานเป็นบรรทัดต่อบรรทัด คือ อ่านโค้ดคำสั่งมาบรรทัดหนึ่งแล้วก็ทำงานให้ผลออกมาเลย

เครื่องคอมพิวเตอร์ แปลตรงตัวเลยคือเครื่องสำหรับคำการคำนวณหรือประมวลผลลัพธ์ออกมา โดยเน้นไปที่การคิดเลขทางคณิตศาสตร์!

แล้วในการคำนวณต่างๆ ก็จะเต็มไปด้วยสูตรที่สามารถเปลี่ยนค่าเองไปได้เรื่อยๆ ค่าพวกนี้เราเรียกมันว่า Variable หรือ ตัวแปร นั่นเอง (ใครยังไม่รู้จักตัวแปรแนะนำให้กลับไปศึกษาวิชาคณิตศาสตร์นะ เอาแค่ระดับเลข ม.ต้น ก็น่าจะรู้จักตัวแปรแล้ว)

ทำไมต้องมีตัวแปร

ถ้าเราสร้างโปรแกรมขึ้นมาโปรแกรมหนึ่ง แล้วโปรแกรมนี้ไม่สามารถหาคำตอบอื่นได้เลยนอกจากค่าที่โปรแกรมเมอร์กำหนดลงไปเท่านั้นมันคงจะเป็นโปรแกรมที่น่าเบื่อแย่ เช่นถ้าเราสร้างโปรแกรมเครื่องคิดเลขขึ้นมา แต่ดันหาคำตอบได้แค่ 1 + 1 หรือ 1 + 2 เท่านั้น ถ้าเป็นเลขนอกเหนือจากนี้ จะคิดไม่ออก คงจะแย่น่าดู

ตัวแปรเป็นสิ่งที่เกิดมาเพื่อให้คอมพิวเตอร์สามารถจำค่าต่างๆ ที่กำลังคิดเลขอยู่ในตอนนั้นได้ (และเพราะค่าที่เก็บไว้จะเปลี่ยนไปเรื่อยๆ ตามการคำนวณแต่ละอย่าง เราเลยเรียกว่าตัวแปร-แปรเปลี่ยนไปได้ไง)

ภาษาซี ต้องประกาศตัวแปรก่อนใช้งานนะ

ในวิชาเลข เวลาเราจะใช้ตัวแปร เราสามารถเขียนประมาณนี้ได้

x = 1
y = 10 + 20

นั่นคือเรากำหนด "ค่า" (value) 1 แล้วส่งเข้าไปเก็บไว้ในตัวแปรที่ชื่อว่า

type var-name
type var-name = value
2 ส่วนในบรรทัดต่อมา เรากำหนดค่า 10 + 20 (ซึ่งคิดออกมาได้ 30) แล้วส่งไปเก็บไว้ในตัวแปรชื่อ
type var-name
type var-name = value
3 นั่นเอง

แต่สำหรับภาษาซีแล้ว อยู่ๆ เราจะกำหนดตัวแปรลอยๆ แบบนี้ไม่ได้!

(บางภาษาโปรแกรมเช่น PHP, Python สามารถทำได้)

เราจะต้องทำสิ่งที่เรียกว่า..

Variable Declaration 
การประกาศตัวแปร

ซะก่อนนะ โดยใช้รูปแบบดังนี้

type var-name
type var-name = value

เช่น "ต้องการตัวแปรสำหรับเก็บตัวเลขจำนวนเต็มชื่อ x" เราจะต้องเขียนว่า

int x;

ซึ่ง

type var-name
type var-name = value
4 ย่อมาจาก integer ที่แปลว่าจำนวนเต็มนั่นเอง (หมายถึงจำนวนที่ไม่มีจุดทศนิยม เช่น 1, 2, 256, -8 แต่ไม่ใช่ 1.5 , 3.14) และแน่นอนว่าอย่าลืม
type var-name
type var-name = value
5 หลังคำสั่งด้วยนะ (ทุกครั้งที่จบคำสั่ง ต้องใส่ทุกครั้ง)

(ส่วนไทป์หรือชนิดของตัวแปรมีอะไรบ้าง เดี๋ยวต่อกันในหัวข้อต่อไป)

และตัวแปรในภาษาซีเป็นรูปแบบ Type-Sensitive หรือซีเรียสเรื่องไทป์ของตัวแปรมากๆ ถ้าเราสร้างตัวแปรแบบ

type var-name
type var-name = value
4 (จำนวนเต็ม) ขึ้นมา เราก็ไม่สามารถเอาค่าชนิดอื่น เช่น
type var-name
type var-name = value
7 (ตัวอักษร) ใส่ลงไปได้

แล้วหลังจากเราทำการ "ประกาศตัวแปร" เสร็จเรียบร้อย เราก็จะเริ่มใช้งานตัวแปรของเราสำหรับการคำนวณอะไรก็ได้ เช่น

int x;

x = 1;
//ตอนนี้ x จะเก็บค่า 1

//หรือไม่พอใจ จะเปลี่ยนค่าให้ x ก็ได้
x = 2;
//ตอนนี้ x ก็จะมีค่าเท่ากับ 2 แล้ว

//หรือใส่เป็น expression (สมการ) ก็ยังได้
x = 1 + 2 - 3 * 4 / 5 % 6;

มาดูการใช้ตัวแปรในการคิดเลขอีกตัวอย่างกัน

ex. ต้องการสร้างตัวแปรสำหรับหาผลบวกของตัวเลข 2 ตัว

มีตัวเลข 2 ตัว ดังนั้นเราจะสร้างตัวแปรขึ้นมาก่อน ขอตั้งชื่อว่า

type var-name
type var-name = value
8 และ
type var-name
type var-name = value
9 (ส่วนเรื่องชื่อตัวแปรตั้งแบบไหนได้บ้าง เดี๋ยวเราจะพูดกันต่อไปนะ) แบบนี้

int first;
int second;

หรือในเมื่อทั้ง first และ second ต่างก็เป็น int ทั้งคู่ เราสามารถเขียนแบบนี้ได้

int first, second;

ต่อไปเราก็กำหนดค่าให้ตัวแปรของเรา (อยากหาผลบวกเลขอะไร ก็ใส่ลงไป หรือจะเปลี่ยนทีหลังก็ยังไง)

int first, second;

first = 100;
second = 20;

ต่อไปเราก็ต้องเอาตัวแปร 2 ตัวนี้มา "บวก" กันด้วย operator

int x;
0 นั่นเอง

ขั้นเวลา!

ขอบทบวนกันลืมกันเล็กน้อยกับเครื่องหมายสำหรับการคิดเลขที่เรียกกันว่า..

Operator ตัวดำเนินการ

หรือก็คือเครื่องหมายในการคิดเลขนั่นเอง สำหรับการเขียนโปรแกรมจะมีตัวหลักๆ อยู่ 5 ตัวดังนี้

+   -   *   /   %
บวก ลบ คูณ หาร ม๊อด

(สำหรับ % หรือ modulo "หารเอาเศษ" ถ้ายังไม่รู้จักให้อ่านในบทความ Algorithm (1) – ขั้นตอนวิธี หัวใจสำคัญของการเขียนโปรแกรม)

บางภาษาโปรแกรมอาจจะมีมากกว่านี้ เช่น

int x;
1 หรือ
int x;
2 ที่ใช้สำหรับการคิดเลขยกกำลัง แต่ก็ไม่ใช่ทุกภาษาที่มีนะ

กลับมาต่อที่โจทย์ของเรา ก็จะได้เป็นว่า

int first, second;

first = 100;
second = 20;

first + second;

แต่การเอาเลข 2 ตัวมาบวกกันเฉยๆ แบบนี้ คำตอบที่ได้จะไปไหนล่ะ?

ไม่มีที่ไปสินะ นั่นแปลว่าเรายังไม่ได้สร้างตัวแปรสำหรับเก็บคำตอบเลยยังไงล่ะ งั้นเอาแบบนี้ เราจะเก็บคำตอบลงไปในตัวแปรชื่อ

int x;
3

int first, second;

first = 100;
second = 20;

answer = first + second;

แต่อย่าลืมนะ (อันนี้ขอเตือนเลย เป็นหนึ่งในจุดที่มือใหม่ลืมกันบ่อยมาก) คือเราจะใช้ตัวแปร เราจะต้องประกาศตัวแปรซะก่อน

int first, second;

first = 100;
second = 20;

int answer;
answer = first + second;

หรือจะเขียนแบบนี้ก็ยังได้

type var-name
type var-name = value
0

สังเกตว่าเราจะประกาศตัวแปรที่ไหนก็ได้ ขออย่างเดียวคือต้องประกาศก่อนใช้งานเสมอ!

type var-name
type var-name = value
1

 

มาถึงตรงนี้ หลายๆ คนอาจจะมีคำถาม

"แล้วเราจะแสดงค่าคำตอบออกมายังไงล่ะ?"

เพราะว่าเรายังไม่ได้พูดถึงเรื่องจาก input/output กันเลย ดังนั้นในบทนี้เราจะพักเรื่องของตัวแปรเอาไว้แค่นี้ก่อน แล้วบทต่อไปเราจะมาพูดถึงเรื่องของการแสดงผลลัพธ์ออกมากัน

ตัวแปรในการเขียนโปรแกรมภาษาซีมีกี่แบบ อะไรบ้าง

ตัวแปร (Variable) ในภาษาซี ตัวแปร หมายถึง ชื่อเรียกแทนพื้นที่เก็บข้อมูลในหน่วยความจำ มี ชนิด ของข้อมูล หรือแบบของตัวแปรคือ char, int, long, float, double, unsigned int, unsigned long int.

ทำไมการเขียนโปรแกรม จึงต้องมีตัวแปร

ทำไมต้องมีตัวแปร ตัวแปรเป็นสิ่งที่เกิดมาเพื่อให้คอมพิวเตอร์สามารถจำค่าต่างๆ ที่กำลังคิดเลขอยู่ในตอนนั้นได้ (และเพราะค่าที่เก็บไว้จะเปลี่ยนไปเรื่อยๆ ตามการคำนวณแต่ละอย่าง เราเลยเรียกว่าตัวแปร-แปรเปลี่ยนไปได้ไง)

ตัวแปร (variables) คือะไรในการเขียนโปรแกรม และทำหน้าที่อย่างไร

variable คือ ตัวแปร ซึ่งหมายถึงตัวที่ผู้เขียนโปรแกรมตั้งขึ้น เพื่อใช้เก็บค่าที่ต้องการนำมาใช้งานในการเขียนโปรแกรม เพื่อทำการประมวลผลข้อมูล เก็บข้อมูลในหน่วยความจำขณะที่โปรแกรมทำงาน ประกอบด้วยชื่อตัวแปรและตำแหน่งที่เก็บ แต่ในการเรียกใช้งานส่วนใหญ่จะใช้ชื่อตัวแปรเป็นหลัก ตัวแปรใช้เก็บข้อมูลที่มีการเรียกใช้หลายครั้ง เช่น ...

Variable Declaration คืออะไร อธิบายมาพอสังเขป

การประกาศตัวแปร (variable declaration) คือการจองเนื้อที่ในหน่วยความจำสำหรับเก็บค่าบางอย่าง พร้อมทั้งกำหนดชื่อเรียกแทนหน่วยความจำในตำแหน่งนั้นเพื่อให้ผู้เขียนโปรแกรมมีความสะดวกในการเข้าถึง ค่าที่เก็บอยู่ในหน่วยความจำดังกล่าว