คลาสการจัดเก็บระบุขอบเขต อายุการใช้งาน และการเชื่อมโยงของตัวแปร
ในการกำหนดตัวแปรอย่างสมบูรณ์ เราต้องไม่เพียงแค่พูดถึง "ประเภท" เท่านั้น แต่ยังรวมถึงคลาสพื้นที่เก็บข้อมูลด้วย
ชื่อตัวแปรระบุตำแหน่งทางกายภาพบางส่วนภายในหน่วยความจำคอมพิวเตอร์ โดยที่ชุดของบิตจะถูกจัดสรรเพื่อจัดเก็บค่าของตัวแปร
คลาสพื้นที่เก็บข้อมูลบอกเราถึงปัจจัยต่อไปนี้ −
- เก็บตัวแปรไว้ที่ใด (ในหน่วยความจำหรือ cpu register)
- ค่าเริ่มต้นของตัวแปรจะเป็นอย่างไร หากไม่มีการกำหนดค่าเริ่มต้น
- ขอบเขตของตัวแปรคืออะไร (เข้าถึงได้)
- ชีวิตของตัวแปรคืออะไร?
ขอบเขต
ขอบเขตกำหนดการมองเห็นของวัตถุ กำหนดตำแหน่งที่สามารถเข้าถึงวัตถุได้
ตัวแปรขอบเขตเป็นแบบโลคัลหรือโกลบอล
- ตัวแปรที่กำหนดภายในบล็อกมีขอบเขตในเครื่อง มองเห็นได้เฉพาะบล็อกที่กำหนดไว้เท่านั้น
- ตัวแปรที่กำหนดในพื้นที่ส่วนกลางสามารถมองเห็นได้จากคำจำกัดความจนถึงจุดสิ้นสุดของโปรแกรม มองเห็นได้ทุกที่ในโปรแกรม
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับขอบเขตของตัวแปร -
#include<stdio.h> int c= 30; /* global area */ main ( ) { int a = 10; //local scope// printf ("a=%d,c=%d"a,c); fun ( ); } fun ( ){ printf ("c=%d",c); //global variable }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -
a =10, c = 30 c = 30
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับตัวแปรท้องถิ่นและตัวแปรส่วนกลาง -
#include<stdio.h> int a,b; a=1,b=2; main() { int c,d; printf("enter c and d values:"); scanf("%d%d",&c,&d); c=c+d; //local variables b=a*b; //global variables printf("c value is:%d\n",c); printf("b value is:%d\n",b); }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -
enter c and d values:4 7 c value is:11 b value is:2