Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

C++ ขอบเขตของตัวแปร


ขอบเขตคือขอบเขตของโปรแกรมและโดยทั่วไปแล้วมีสามแห่งที่สามารถประกาศตัวแปรได้ -

  • ภายในฟังก์ชันหรือบล็อกที่เรียกว่าตัวแปรท้องถิ่น

  • ในคำจำกัดความของพารามิเตอร์ฟังก์ชันที่เรียกว่าพารามิเตอร์แบบเป็นทางการ

  • นอกฟังก์ชันทั้งหมดที่เรียกว่าตัวแปรส่วนกลาง

เราจะเรียนรู้ว่าอะไรคือฟังก์ชันและพารามิเตอร์ในบทต่อๆ ไป เรามาอธิบายว่าตัวแปรท้องถิ่นและตัวแปรส่วนกลางคืออะไร

ตัวแปรท้องถิ่น

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

ตัวอย่าง

#include <iostream>
using namespace std;
int main () {
   // Local variable declaration:
   int a, b;
   int c;
   // actual initialization
   a = 10;
   b = 20;
   c = a + b;
   cout << c;
   return 0;
}

ตัวแปรทั่วโลก

ตัวแปรโกลบอลถูกกำหนดไว้นอกฟังก์ชันทั้งหมด มักจะอยู่ด้านบนของโปรแกรม ตัวแปรทั่วโลกจะคงค่าไว้ตลอดอายุของโปรแกรมของคุณ

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

ตัวอย่าง

#include <iostream>
using namespace std;
// Global variable declaration:
int g;
int main () {
   // Local variable declaration:
   int a, b;
   // actual initialization
   a = 10;
   b = 20;
   g = a + b;
   cout << g;
   return 0;
}

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

ตัวอย่าง

#include <iostream>
using namespace std;
// Global variable declaration:
int g = 20;
int main () {
   // Local variable declaration:
   int g = 10;
   cout << g;
   return 0;
}

ผลลัพธ์

10

การกำหนดค่าเริ่มต้นของตัวแปรท้องถิ่นและตัวแปรส่วนกลาง

เมื่อมีการกำหนดตัวแปรโลคัล ตัวแปรนั้นจะไม่เริ่มต้นโดยระบบ คุณต้องเตรียมข้อมูลเบื้องต้นด้วยตัวเอง ระบบจะเริ่มต้นตัวแปรส่วนกลางโดยอัตโนมัติเมื่อคุณกำหนดตัวแปรดังนี้ –

ประเภทข้อมูล ตัวเริ่มต้น
int 0
แผนภูมิ '\0'
ลอย 0
ดับเบิ้ล 0
ตัวชี้ NULL