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

อธิบายขอบเขตของตัวแปรในภาษาซี


คลาสการจัดเก็บระบุขอบเขต อายุการใช้งาน และการเชื่อมโยงของตัวแปร

ในการกำหนดตัวแปรอย่างสมบูรณ์ เราต้องไม่เพียงแค่พูดถึง "ประเภท" เท่านั้น แต่ยังรวมถึงคลาสพื้นที่เก็บข้อมูลด้วย

ชื่อตัวแปรระบุตำแหน่งทางกายภาพบางส่วนภายในหน่วยความจำคอมพิวเตอร์ โดยที่ชุดของบิตจะถูกจัดสรรเพื่อจัดเก็บค่าของตัวแปร

คลาสพื้นที่เก็บข้อมูลบอกเราถึงปัจจัยต่อไปนี้

  • เก็บตัวแปรไว้ที่ใด (ในหน่วยความจำหรือ 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