เรียนรู้เกี่ยวกับตัวแปรคงที่ในภาษา 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 ด้าน การพัฒนาซอฟต์แวร์แบบครบ วงจร