การประกาศตัวแปรใน C (Declaration of Variables in C)
ภาพรวม
ในภาษาการเขียนโปรแกรมใด ๆ เราสามารถอ้างถึงอะไรก็ได้ด้วยความช่วยเหลือของตัวแปร สิ่งเหล่านี้เป็นส่วนที่สำคัญที่สุด ตั้งแต่การเขียนโปรแกรมปกติไปจนถึงการเขียนซอฟต์แวร์ขั้นสูง ตัวแปรช่วยให้เราเข้าถึงองค์ประกอบเฉพาะและกำหนดค่าบางอย่างได้ พลังอันยิ่งใหญ่มาพร้อมกับความรับผิดชอบที่ยิ่งใหญ่ ดังนั้นตัวแปรจึงถูกจำกัดด้วยกฎการประกาศและการกำหนดหน้าที่ที่เราจะพิจารณา
ขอบเขตของบทความ
ในบทความนี้เราจะเข้าใจเกี่ยวกับ:
- วิธีประกาศตัวแปรในภาษา C
- เราจะมาดูจุดประสงค์ของการประกาศตัวแปรในภาษาซีว่าคืออะไร
- ประเภทการประกาศตัวแปรประเภทต่างๆ
- Atlast กฎทั่วไปบางประการในภาษา C ที่ทำให้ตัวแปรทำงานได้ดีในโปรแกรม
บทนำสู่การประกาศตัวแปรใน C
ตัวแปรเป็นส่วนที่สำคัญที่สุดของภาษาการเขียนโปรแกรมใดๆ
สมมติว่าเราต้องคำนวณพื้นที่ของสี่เหลี่ยม ในการทำการคำนวณทางคณิตศาสตร์นี้ เราต้องเก็บความยาวและความกว้างของสี่เหลี่ยมผืนผ้า ในการจัดเก็บความยาวและความกว้างของสี่เหลี่ยมผืนผ้า เราต้องจัดสรรพื้นที่บางส่วนในตำแหน่งหน่วยความจำสำหรับข้อมูล และชื่อที่กำหนดให้กับตำแหน่งหน่วยความจำนั้นเรียกว่า Variable
สำหรับแต่ละข้อมูลที่แตกต่างกัน เราตั้งชื่อตัวแปรที่แตกต่างกันเพื่อใช้ในโปรแกรมในภายหลัง
เพื่อความเข้าใจที่ดีขึ้น ให้ดูภาพต่อไปนี้ มันแสดงตำแหน่งหน่วยความจำที่เก็บข้อมูลด้วยชื่อตัวแปรเป็น myvar และ มีค่า 22
a) ไวยากรณ์ทั่วไปสำหรับการประกาศตัวแปร
ในการประกาศตัวแปร เราสามารถประกาศตัวแปรได้สองวิธี:
- การประกาศตัวแปรโดยไม่ตั้งค่าเริ่มต้นใดๆ ให้กับตัวแปรนั้น
data_type variable_name;
เช่น: – char Final_Grade; เป็นตัวแปรประเภท char และไม่มีการกำหนดค่าให้กับมัน
- การประกาศตัวแปรด้วยการเริ่มต้นค่าบางอย่างกับมัน
data_type variable_name = val;
เช่น:- int age = 22; age เป็นตัวแปรประเภท int และมีค่า 22
ที่นี่ data_type ระบุประเภทของตัวแปร เช่น int, char เป็นต้น
variable_name ระบุชื่อของตัวแปร val คือค่าที่เราเริ่มต้นตัวแปร
โปรแกรมแสดงภาพประกอบการประกาศตัวแปรในC
ในการใช้ข้อมูลบางอย่างในโปรแกรม เราต้องประกาศตัวแปรที่มีประเภทข้อมูลที่สอดคล้องกันและกำหนดค่าบางอย่างให้กับตัวแปรนั้น แล้วใช้ชื่อตัวแปรนั้นเพื่อเข้าถึงข้อมูล
ขณะประกาศตัวแปร พื้นที่หน่วยความจำจะไม่ถูกจัดสรรให้ มันเกิดขึ้นเฉพาะในการเริ่มต้นตัวแปร
- จะเกิดอะไรขึ้นเมื่อเราประกาศตัวแปรโดยไม่เริ่มต้น เมื่อเราประกาศตัวแปรโดยไม่เริ่มต้น มันก็จะเก็บค่าขยะหรือค่าศูนย์ไว้ แต่ถ้าเรากำหนดค่าบางอย่างให้กับมัน ค่านั้นจะถูกเขียนทับด้วยค่าใหม่
มาดูตัวอย่างเพื่อทำความเข้าใจแนวคิดข้างต้น
// Program to illustrate the declaration of variables in C
#include <stdio.h>
int main()
{
// declaring alpha variable with value 10.
int alpha = 10;
// declaring beta variable with value 20.
int beta = 20;
// declaring c variable without initializing it.
int c=0;
// Checking the initial value of c variable.
printf("The initial value of c is %d\n", c);
c= alpha + beta;
// printing C variable value.
printf("The sum of alpha and beta is %d", c);
return 0;
}
จากโปรแกรมด้านบนจะเห็นว่าค่าเริ่มต้นของ c เป็น 0 และเมื่อเรากำหนดค่าใหม่ให้กับตัวแปร C ค่าใหม่จะถูกเขียนทับด้วยค่าใหม่
ประเภทของการประกาศตัวแปรใน C
ตัวแปรในภาษา C จำเป็นต้องประกาศโดยการจัดเก็บชนิดข้อมูลและชื่อตัวแปรใดๆ ก่อนใช้งาน
การประกาศตัวแปรในภาษา C มี 2 แบบคือ
- การประกาศประเภทหลัก
- การประกาศประเภทที่ผู้ใช้กำหนด
a) การประกาศประเภทหลัก (Primary Type Declaration)
การประกาศประเภทหลักใช้เพื่อประกาศตัวแปรที่มีประเภทข้อมูลพื้นฐาน ซึ่งเรียกอีกอย่างว่าประเภทข้อมูลที่มีอยู่แล้วภายใน
ชนิดข้อมูลหลักที่ใช้บ่อยที่สุด ได้แก่ int, float, char, boolean, double, long เป็นต้น
- การประกาศประเภทหลักเดียว (Single primary type declaration)
เช่น:- char Grade = ‘A’;
- การประกาศประเภทหลักหลายรายการในบรรทัดเดียวกันเมื่อมีการประกาศตัวแปรหลายตัวในบรรทัดเดียวกัน เราจำเป็นต้องใช้เครื่องหมายจุลภาคเพื่อแยกตัวแปรดังที่แสดงด้านล่าง
เช่น:- int Length= 12, Width = 13, Depth = 14;
- การประกาศประเภทหลักหลายรายการในบรรทัดที่ต่างกันเมื่อมีการประกาศตัวแปรหลายตัวในบรรทัดที่ต่างกัน เราจำเป็นต้องใช้เครื่องหมายอัฒภาคเพื่อแยกตัวแปรดังที่แสดงด้านล่าง
เช่น:-
int variable_name1 = 12;
float variable_name2 = 22.22;
char variable_name3 = 'S';
b) ประกาศประเภทที่กำหนดโดยผู้ใช้ (User Defined Type Declaration)
การประกาศประเภทที่กำหนดโดยผู้ใช้เป็นประเภทของการประกาศที่ผู้ใช้กำหนดประเภทข้อมูล
ชนิดข้อมูลที่ใช้บ่อยที่สุด ได้แก่ struct, Union, enum, typedef เป็นต้น
- โครงสร้างโครงสร้างใช้เพื่อจัดกลุ่มรายการข้อมูลประเภทต่างๆ ให้เป็นประเภทข้อมูลที่ผู้ใช้กำหนดเองเพียงชนิดเดียว
- Union Unions เป็นประเภทข้อมูลที่กำหนดโดยผู้ใช้ ซึ่งสมาชิกจะแชร์ตำแหน่งหน่วยความจำร่วมกัน ดังนั้นจึงสามารถเข้าถึงข้อมูลใดก็ได้ในแต่ละครั้ง เมื่อเราต้องการเข้าถึงสมาชิกเพียงคนเดียว เราจะใช้ยูเนี่ยน
- Typedefเราจำเป็นต้องใช้คำสำคัญ typedef เพื่อกำหนดประเภทข้อมูล ตอนนี้เราสามารถใช้ประเภทข้อมูลใหม่เหล่านั้นในโปรแกรมของเราดังที่แสดงด้านล่าง
ตัวอย่างเช่น,
typedef char person_name;
typedef int person_age;
typedef float salary;
ที่นี่ เราได้กำหนดประเภทข้อมูลใหม่ที่เรียกว่า person_name, person_age และเงินเดือน ตอนนี้เราสามารถใช้ชนิดข้อมูลเหล่านี้เพื่อประกาศตัวแปรได้ดังนี้
person_name Akhil, Bhanu, Chaitanya;
person_age 22, 23, 24;
salary 22.22, 23.23, 24.24;
ที่นี่ Akhil, Bhanu, Chaitanya ถูกประกาศเป็นตัวแปรประเภท char และ 22, 2323, 2424 ถูกประกาศเป็นตัวแปรประเภท int และ 22.22, 23.2323.23, 24.2424.24 ถูกประกาศเป็นตัวแปรประเภท float
- ด้วยการใช้ชนิดข้อมูลที่กำหนดโดยผู้ใช้ เราสามารถสร้างชนิดข้อมูลของเราเองได้ ตัวอย่างเช่น เราสามารถสร้างชนิดข้อมูลใหม่ที่เรียกว่า person_info ซึ่งสามารถเก็บชื่อ อายุ และเงินเดือนของบุคคลได้ และยังเพิ่มความสามารถในการอ่านของโปรแกรม
- ความแตกต่างที่สำคัญระหว่างการประกาศประเภทหลักและการประกาศประเภทที่ผู้ใช้กำหนดคือ ในการประกาศประเภทหลัก เราสามารถใช้ชื่อตัวแปรใดๆ กับประเภทข้อมูลใดก็ได้ แต่ในการประกาศประเภทที่ผู้ใช้กำหนด เราสามารถใช้ตัวระบุใดๆ กับประเภทข้อมูลใดก็ได้
ทำไมเราต้องประกาศตัวแปรใน C?
โดยพื้นฐานแล้ว เราต้องประกาศตัวแปรเพื่อเก็บข้อมูลประเภทต่างๆ ในโปรแกรม ดังนั้นเพื่อดำเนินการหรืองานบางอย่างกับข้อมูล เราจำเป็นต้องเก็บไว้ในตำแหน่งหน่วยความจำของคอมพิวเตอร์ แต่เราจำที่อยู่ของตำแหน่งหน่วยความจำที่เก็บข้อมูลไม่ได้ ในการเข้าถึงข้อมูล เราตั้งชื่อตำแหน่งหน่วยความจำด้วยชื่อตัวแปรและขนาดตามประเภทข้อมูล
ในโปรแกรม โดยการประกาศตัวแปร เราต้องบอกคอมไพเลอร์ถึงชนิดของข้อมูลและชื่อตัวแปรเพื่อเข้าถึงข้อมูล
วัตถุประสงค์ของการประกาศตัวแปร
วัตถุประสงค์หลักของการประกาศตัวแปรคือการเก็บข้อมูลที่จำเป็นในตำแหน่งหน่วยความจำในรูปแบบของตัวแปรเพื่อให้เราสามารถใช้ในโปรแกรมของเราเพื่อดำเนินการหรืองานใด ๆ
โดยการประกาศตัวแปร เราสามารถใช้ตัวแปรนั้นในโปรแกรมของเราได้โดยใช้ชื่อตัวแปรและประเภทข้อมูลที่เกี่ยวข้อง
ลองมาดูตัวอย่างเพื่อทำความเข้าใจแนวคิดนี้
ตัวอย่างเช่นเราจำเป็นต้องคำนวณคะแนนรวมของนักเรียนในทุกวิชา ดังนั้นในการคำนวณคะแนนรวม เราจำเป็นต้องให้คะแนนแต่ละหัวข้อกับคอมพิวเตอร์เพื่อที่จะรวมเข้าด้วยกัน ในการใช้ข้อมูล เราตั้งชื่อตำแหน่งหน่วยความจำด้วยชื่อตัวแปรและกำหนดค่าให้กับตัวแปร ดังนั้นเราจึงสามารถใช้ชื่อตัวแปรเพื่อเข้าถึงข้อมูลได้
กฎการประกาศตัวแปรใน C
ในภาษา C เราจำเป็นต้องประกาศตัวแปรที่มีชนิดข้อมูลและชื่อตัวแปรที่เหมาะสม
นี่คือกฎบางส่วนที่เราต้องปฏิบัติตามในขณะที่ประกาศตัวแปรใน C:
- ไม่ควรประกาศตัวแปรที่มีชื่อเดียวกันในขอบเขตเดียวกัน
- ชื่อตัวแปรสามารถเริ่มต้นด้วยอะไรก็ได้ เช่น ตัวอักษรและขีดล่าง แต่ชื่อตัวแปรไม่ควรขึ้นต้นด้วยตัวเลข
- ชื่อตัวแปรต้องไม่เป็นคีย์เวิร์ดที่สงวนไว้ในภาษา C ตัวอย่างเช่น หากคุณประกาศชื่อตัวแปรเป็น label, int, float, char, function, else เป็นต้น จะไม่สามารถใช้เป็นชื่อตัวแปรได้
- ชื่อตัวแปรสามารถมีการผสมผสานระหว่างตัวอักษร ตัวเลข และขีดล่าง
- คำสั่งประกาศทั้งหมดต้องลงท้ายด้วยเซมิโคลอน (;)
- ขอแนะนำให้ประกาศตัวแปรประเภทข้อมูลเดียวกันในบรรทัดเดียวกัน
- จะดีกว่าถ้าเราประกาศชื่อตัวแปรด้วยชื่อที่มีความหมาย จากนั้นจะอธิบายวัตถุประสงค์ของตัวแปรอย่างชัดเจน
ตัวอย่างเช่น,
char Person_name[]= "Vikram kumar";
int age = 22;
float weight = 56.325;
ในตัวอย่างที่แสดงด้านบน เราได้ประกาศชื่อตัวแปรด้วยPerson_nameอายุ น้ำหนัก แทนที่จะเป็น a, b, c เป็นต้น เพื่อให้เราเข้าใจได้ง่ายว่าชื่อตัวแปรใช้เพื่อเก็บอายุของบุคคล
บทสรุป
- เราสามารถประกาศตัวแปรพร้อมกับการเริ่มต้นหรือโดยไม่ต้องเริ่มต้นก็ได้ ถ้าเราไม่เริ่มต้นตัวแปร มันจะรับค่าขยะ
- ในประเภทหลัก เราใช้ประเภทข้อมูลในตัว เช่น int, float, char, boolean, double, long เป็นต้น และใน User Defined Type เราใช้ประเภทข้อมูลที่ผู้ใช้กำหนด เช่น struct, Union, enum, typedef เป็นต้น
- ฟังก์ชันตัวแปรพื้นฐานที่จัดเตรียมโดยภาษา C นั้นใช้งานง่ายและตรงไปตรงมา แต่มีรายละเอียดค่อนข้างน้อยที่สามารถช่วยให้คุณสร้างแอปพลิเคชันที่ฝังตัวได้อย่างน่าเชื่อถือและมีประสิทธิภาพมากขึ้น
credit : https://www.scaler.com/topics/c/