การประกาศตัวแปรใน C (Declaration of Variables in C)

ภาพรวม

ในภาษาการเขียนโปรแกรมใด ๆ เราสามารถอ้างถึงอะไรก็ได้ด้วยความช่วยเหลือของตัวแปร สิ่งเหล่านี้เป็นส่วนที่สำคัญที่สุด ตั้งแต่การเขียนโปรแกรมปกติไปจนถึงการเขียนซอฟต์แวร์ขั้นสูง ตัวแปรช่วยให้เราเข้าถึงองค์ประกอบเฉพาะและกำหนดค่าบางอย่างได้ พลังอันยิ่งใหญ่มาพร้อมกับความรับผิดชอบที่ยิ่งใหญ่ ดังนั้นตัวแปรจึงถูกจำกัดด้วยกฎการประกาศและการกำหนดหน้าที่ที่เราจะพิจารณา

ขอบเขตของบทความ

ในบทความนี้เราจะเข้าใจเกี่ยวกับ:

  1. วิธีประกาศตัวแปรในภาษา C
  2. เราจะมาดูจุดประสงค์ของการประกาศตัวแปรในภาษาซีว่าคืออะไร
  3. ประเภทการประกาศตัวแปรประเภทต่างๆ
  4. 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 แบบคือ

  1. การประกาศประเภทหลัก
  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 เป็นต้น

  1. โครงสร้างโครงสร้างใช้เพื่อจัดกลุ่มรายการข้อมูลประเภทต่างๆ ให้เป็นประเภทข้อมูลที่ผู้ใช้กำหนดเองเพียงชนิดเดียว
  2. Union Unions เป็นประเภทข้อมูลที่กำหนดโดยผู้ใช้ ซึ่งสมาชิกจะแชร์ตำแหน่งหน่วยความจำร่วมกัน ดังนั้นจึงสามารถเข้าถึงข้อมูลใดก็ได้ในแต่ละครั้ง เมื่อเราต้องการเข้าถึงสมาชิกเพียงคนเดียว เราจะใช้ยูเนี่ยน
  3. 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/

Leave a Reply

Your email address will not be published. Required fields are marked *