ขอบเขตคือขอบเขตของโปรแกรมและโดยทั่วไปแล้วมีสามแห่งที่สามารถประกาศตัวแปรได้ -
- ภายในฟังก์ชันหรือบล็อกที่เรียกว่าตัวแปรท้องถิ่น
- ในนิยามของพารามิเตอร์ฟังก์ชันที่เรียกว่าพารามิเตอร์แบบเป็นทางการ
- นอกฟังก์ชันทั้งหมดที่เรียกว่าตัวแปรโกลบอล
ตัวแปรโลคัลสามารถใช้ได้โดยคำสั่งที่อยู่ภายในฟังก์ชันหรือบล็อกของโค้ดเท่านั้น ตัวแปรท้องถิ่นไม่เป็นที่รู้จักในการทำงานด้วยตัวเอง
ตัวอย่าง
#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;
} ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
30
ตัวแปรส่วนกลางถูกกำหนดไว้นอกฟังก์ชันทั้งหมด มักจะอยู่ด้านบนของโปรแกรม ตัวแปรทั่วโลกจะคงคุณค่าไว้ตลอดอายุของโปรแกรมของคุณ ตัวแปรส่วนกลางสามารถเข้าถึงได้โดยฟังก์ชันใดก็ได้
ตัวอย่าง
#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;
} ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
30
โปรแกรมสามารถมีชื่อเดียวกันสำหรับตัวแปรภายในเครื่องและตัวแปรส่วนกลาง แต่ค่าของตัวแปรภายในเครื่องจะเป็นค่ากำหนด สำหรับการเข้าถึงตัวแปรส่วนกลางด้วย rame เดียวกัน คุณจะต้องใช้ตัวดำเนินการแก้ไขขอบเขต
ตัวอย่าง
#include <iostream>
using namespace std;
// Global variable declaration:
int g = 20;
int main () {
// Local variable declaration:
int g = 10;
cout << g; // Local
cout << ::g; // Global
return 0;
} ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
10 20