คลาสการจัดเก็บระบุขอบเขต อายุการใช้งาน และการเชื่อมโยงของตัวแปร
ในการกำหนดตัวแปรอย่างสมบูรณ์ เราต้องไม่เพียงแค่พูดถึง "ประเภท" เท่านั้น แต่ยังรวมถึงคลาสพื้นที่เก็บข้อมูลด้วย
ชื่อตัวแปรระบุตำแหน่งทางกายภาพบางส่วนภายในหน่วยความจำคอมพิวเตอร์ โดยที่ชุดของบิตจะถูกจัดสรรเพื่อจัดเก็บค่าของตัวแปร
คลาสพื้นที่เก็บข้อมูลบอกเราถึงปัจจัยต่อไปนี้ −
- เก็บตัวแปรไว้ที่ใด (ในหน่วยความจำหรือ 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