ในภาษา C ขอบเขต (scope) คือบริเวณของโปรแกรมที่ตัวระบุหรือตัวแปรเข้าถึงได้โดยตรง แบ่งเป็น 2 ประเภทหลัก
ตัวแปรกล로บอล (Global Variables)
ประกาศนอกฟังก์ชันทุกฟังก์ชัน คงค่าตลอดการทำงานของโปรแกรม เข้าถึงได้จากทุกส่วน
ตัวอย่าง
#include <stdio.h>
int s;
int main() {
int a = 15;
int b = 20;
s = a + b;
printf("a = %d\n b = %d\n s = %d\n", a, b, s);
return 0;
}ผลลัพธ์
a = 15 b = 20 s = 35
ตัวแปรโลคัล (Local Variables)
ประกาศภายในบล็อกหรือฟังก์ชัน ใช้ได้เฉพาะภายในบล็อกหรือฟังก์ชันนั้นเท่านั้น
ตัวอย่าง
#include <stdio.h>
int main() {
int a = 15;
int b = 20;
a = a + b;
printf("a = %d\n b = %d\n", a, b);
return 0;
}ผลลัพธ์
a = 35 b = 20