ตัวแปรแต่ละตัวใน C++ มีประเภทเฉพาะ ซึ่งจะกำหนดขนาดและเลย์เอาต์ของหน่วยความจำของตัวแปร ช่วงของค่าที่สามารถเก็บไว้ในหน่วยความจำนั้น และชุดของการดำเนินการที่สามารถนำไปใช้กับตัวแปรได้ เราประกาศตัวแปรโดยใช้สัญกรณ์ -
type variableName;
ประเภทอาจเป็นแบบดั้งเดิม (int, bool, float, char ฯลฯ ) ประเภทที่แจกแจง ตัวชี้ไปยังประเภทอื่นหรือประเภทที่ซับซ้อนมากขึ้นที่กำหนดโดยโครงสร้างข้อมูลหรือคลาส
ขอบเขตตัวแปร
ขอบเขตคือขอบเขตของโปรแกรมและโดยทั่วไปแล้วมีสามแห่งที่สามารถประกาศตัวแปรได้ -
- ภายในฟังก์ชันหรือบล็อกที่เรียกว่าตัวแปรท้องถิ่น
- ในนิยามของพารามิเตอร์ฟังก์ชันที่เรียกว่าพารามิเตอร์แบบเป็นทางการ
- นอกฟังก์ชันทั้งหมดที่เรียกว่าตัวแปรโกลบอล
ตัวแปรโลคัลสามารถใช้ได้โดยคำสั่งที่อยู่ภายในฟังก์ชันหรือบล็อกของโค้ดนั้นเท่านั้น ตัวแปรท้องถิ่นไม่เป็นที่รู้จักในการทำงานด้วยตัวเอง
ตัวอย่าง
#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