เรียนรู้เกี่ยวกับตัวแปรคงที่ในภาษา C [ด้วยตัวอย่างการเข้ารหัส]

เผยแพร่แล้ว: 2020-10-21

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

คำหลักแบบคงที่ใน C ถูกใช้ค่อนข้างบ่อย สิ่งหนึ่งที่โปรแกรมเมอร์ส่วนใหญ่มักสับสนคือ ตัวแปรท้องถิ่นและตัวแปรทั่วโลกส่งผลต่อสแตติกอย่างไร ในแต่ละกรณี คำหลักแบบคงที่ทำงานแตกต่างกันในแง่ของตำแหน่งที่ข้อมูลถูกจัดเก็บและลักษณะการทำงานตลอดทั้งโปรแกรม ต่อไปนี้คือการใช้งานหลักของคำหลักแบบคงที่:

ฉัน. ตัวแปรโลคัลในฟังก์ชัน หรือ ตัวแปรโลคัลแบบคงที่: การมองเห็นจะเหมือนกับตัวแปรโลคัลอัตโนมัติ

ii ตัวแปรโกลบอลในโมดูล หรือ ตัวแปรโกลบอลแบบคงที่: ประกาศที่ด้านบนสุดของโปรแกรม

สาม. ฟังก์ชันในโมดูล หรือ ฟังก์ชันสแตติก: มีอยู่ในโปรแกรม

iv ตัวแปรสมาชิก หรือ ตัวแปร สมาชิกแบบคงที่: เข้าถึงโดยอินสแตนซ์ทั้งหมดของคลาส

v. เมธอด หรือ เมธอดแบบส แตติก: เข้าถึงโดยอินสแตนซ์ทั้งหมดของคลาส

เราจะพิจารณากรณีการใช้งานทั้ง 3 กรณีและวิธีที่เปลี่ยนแปลงตามพื้นที่จัดเก็บของตัวแปรและปรับปรุงคุณภาพของโค้ด

สารบัญ

ตัวแปรคงที่คืออะไร?

ในการเขียนโปรแกรม ตัวแปรส แตติก คือตัวแปรที่จัดสรร "แบบสแตติก" ซึ่งหมายความว่าตลอดอายุการใช้งานของโปรแกรม มันถูกประกาศด้วยคีย์เวิร์ด 'คงที่' และคงค่าของมันไว้ตลอดการเรียกใช้ฟังก์ชัน

ไวยากรณ์:

ไวยากรณ์ของ ตัวแปรสแตติก คือ:

คงที่ data_type variable_name;

การประกาศตัวแปรคงที่

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

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

อ่าน: คำถามและคำตอบสัมภาษณ์ Java 130+ ยอดนิยม

ตัวแปรคงที่ในโปรแกรม

· ตัวแปรสแตติก ยังคงอยู่ในพื้นที่หน่วยความจำระหว่างการดำเนินการของโค้ดทั้งหมด

· ค่าเริ่มต้นของ ตัวแปรสแตติก เป็นศูนย์ แม้ว่าจะไม่ได้กำหนดไว้ก็ตาม ซึ่งไม่ใช่กรณีในตัวแปรโลคัล

· จำเป็นต้องเริ่มต้น ตัวแปรสแตติก โดยใช้ คีย์เวิร์ดสแตติกใน C มิฉะนั้นจะส่งคืนข้อผิดพลาด

· ตัวแปรสแตติก จะเริ่มต้นในครั้งแรกเมื่อมีการเรียกใช้ฟังก์ชันเท่านั้น

· ใน ตัวแปร สแตติก หน่วยความจำของ ตัวแปรสแตติก จะถูกจัดสรร

· ตัวแปรสแตติก ส่วนกลาง ไม่สามารถเข้าถึงได้นอกโปรแกรม

โปรแกรมพื้นฐานเกี่ยวกับตัวแปรคงที่ในC

#include <stdio.h>

int หลัก ()

{

printf(“%d”, func());

printf(“\n%d”, func());

กลับ 0;

}

int func()

{

คงที่ จำนวน int =0;

นับ++;

นับ กลับ ;

}

ในโค้ดนี้ ตัวแปรการนับถูกประกาศเป็น ตัวแปรคง ที่ ทุกครั้งที่เรียกใช้ func() ค่าของการนับจะอัปเดตเป็น 1 ในการเรียกใช้ฟังก์ชันถัดไป ค่าตัวแปรการนับจะกลายเป็น 2 ดังนั้น ค่าของ ตัวแปรสแตติกจะ คงอยู่ในการเรียกใช้ฟังก์ชัน

เอาท์พุท:

1

2

ความแตกต่างระหว่างตัวแปรท้องถิ่นและตัวแปรคงที่

ทั้ง ตัวแปร โลคัลและ สแตติก ใช้แทนกันได้ในโปรแกรม นี่คือความแตกต่างที่สำคัญระหว่างทั้งสอง:

จุดเด่น ตัวแปรท้องถิ่น ตัวแปรคงที่
การประกาศคีย์เวิร์ดตัวแปร 1. มันถูกประกาศโดยตัวแปรอัตโนมัติ เช่น int a = 1 1. มันถูกประกาศโดย ตัวแปร คงที่ เช่น static int a = 1
การประกาศตัวแปร 2. มันถูกประกาศไว้ภายในฟังก์ชัน 2. มีการประกาศภายในหรือภายนอกฟังก์ชัน
การสร้างตัวแปร 3. มันถูกสร้างขึ้นทุกครั้งที่มีการเรียกใช้ฟังก์ชัน 3. มันถูกสร้างขึ้นสำหรับการเรียกใช้ฟังก์ชันที่ 1 เท่านั้น และตัวแปรเดียวกันนี้ถูกใช้สำหรับการเรียกต่อไป
การเริ่มต้นตัวแปร 4. มีการเริ่มต้นทุกครั้งที่มีการเรียกใช้ฟังก์ชัน 4. มีการเริ่มต้นเพียงครั้งเดียวในโปรแกรม
ค่าเริ่มต้นของตัวแปร 5. หากไม่เริ่มต้น ค่าขยะจะถูกเก็บไว้ในตัวแปร 5. หากไม่เริ่มต้น ค่า 0 จะถูกเก็บไว้ในสแตติกตามค่าเริ่มต้น
การสิ้นสุดตัวแปร 6. เมื่อฟังก์ชันสิ้นสุดลง ฟังก์ชันจะสิ้นสุดลง 6. หากประกาศภายในฟังก์ชัน จะสามารถเข้าถึงได้ในฟังก์ชันนั้นเท่านั้น ขอบเขตจำกัดอยู่ที่ฟังก์ชันนั้น และอายุการใช้งานจนกว่าโปรแกรมจะสิ้นสุด หากประกาศนอกฟังก์ชัน ตัวแปรจะเป็นโกลบอลและสามารถเข้าถึงได้โดยฟังก์ชันใดๆ ในไฟล์ ขอบเขตคือไฟล์ แต่อายุการใช้งานจนกว่าโปรแกรมจะสิ้นสุด

ด้วยตารางนี้ เป็นที่ชัดเจนว่าเหตุใดจึง ต้องการตัวแปรส แตติกมากกว่าตัวแปร โลคัล

รหัสที่ประกอบด้วยทั้ง Local และ Static Variable

#include <stdio.h>

int หลัก () {

อัตโนมัติ int a = -15;

คงที่ int b = 5;

printf("ค่าของตัวแปรอัตโนมัติ a คือ %d\n", a);

printf(“ค่าของ ตัวแปรสแตติก b คือ %d\n”,b);

ถ้า(a!=0)

printf(“ผลรวมของตัวแปรคงที่และอัตโนมัติคือ %d\n”,(b+a));

กลับ 0;

}

ผลลัพธ์ของโปรแกรม:

ค่าของตัวแปรอัตโนมัติคือ -15

ค่าของ ตัวแปรคงที่ คือ 5

ผลรวมของตัวแปรคงที่และอัตโนมัติคือ -10

อ่านเพิ่มเติม: แนวคิดโครงการ C

สรุป

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

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมและต้องการคำปรึกษาจากผู้เชี่ยวชาญในอุตสาหกรรม โปรดดูประกาศนียบัตร PG ของ Grad & IIIT Banglore ด้าน การพัฒนาซอฟต์แวร์แบบครบ วงจร

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

การเรียนรู้ที่เชื่อถือได้ในอุตสาหกรรม - ใบรับรองที่เป็นที่ยอมรับในอุตสาหกรรม
สมัครวันนี้