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

ตัวแปร ชนิด และขอบเขตในภาษา C++


ตัวแปรแต่ละตัวใน 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