Demonstrating variable scope

head

int count1 = 100;
int main()
{
int count1 = 10;
int count3 = 50;
cout << endl
<< “Value of outer count1 = ” << count1
<< endl;
{

int count1 = 20;
int count2 = 30;
cout << “Value of inner count1 = ” << count1
<< endl;
cout << “Value of global count1 = ” << ::count1
<< endl;

count1 += 3;
count3 += count2;
}
cout << “Value of outer count1 = ” << count1
<< endl;

cout << “Value of outer count3 = ” << count3
<< endl;
return 0;
}

 

อธิบาย Source Code

เริ่มจาก int count1 = 100 ไว้ข้างนอก int main เพื่อเป็นค่าเริ่มแรกเรียกได้โดยใช้ ::count1 และสร้าง

int count1 = 10;
int count3 = 50;

แล้วปริ้นค่าดูว่า count 1 จะออก 100 หรือออก 10 จากนั้นสร้างอีกกรอบแล้ว

int count1 = 20;
int count2 = 30;

จากนั้นปริ้นค่า count 1 และ :: count1 ว่าออกค่าอะไร

จากนั้นใส่

count1 += 3;
count3 += count2; เพื่อทดสอบว่า ถ้าปริ้นข้างนอก ปีกกาจะออกค่าอะไรด้วยการ

cout << “Value of outer count1 = ” << count1
<< endl;

cout << “Value of outer count3 = ” << count3
<< endl;

flow

sum

ที่ผลออกมา ตัวแรก = 10 เพราะ count 100 อยู่ด้านนอก function int main

และ ที่ ผล count 1 ตัวที่ 2 ออกมา 20 เพราะ count 1 ใน {} เราใส่ค่า 20

ที่ count 1  = 100 เพราะ ::count1 คือการเรียกค่าตัวแปรนอก function

ที่ค่า count 1 ตัวที่ 4 ได้ 10 เพราะ อยุ่นอกวง {} ที่เราใส่ค่า count1 = 20 และ count1+=3 ไว้ ถ้าเราปริ้นด้านในวงเล็กจะได้ 23

ส่วน count 3 ที่ได้ 80 เพราะ ในวงเล็บ มีแต่ count 1 และ count 2 = 30 ไม่มี count 3 ในนั้นแต่มีนอกวงเล็บ ทำให้ count3+=count2 นั้นเก็บค่าไว้นอกวงเล็บและปริ้นออกมา

Thanakorn Thipgrathok
at GlurGeek.Com
เรียนวิศวกรรมศาสตร์ สาขาคอมพิวเตอร์
ชอบเล่นกีตาร์ อ่านหนังสือ และนอนหลับ
ตอนนี้กำลังหัดเขียน website

Leave a Reply

Copyright © 2021 GlurGeek.Com. All Rights Reserved.