Phạm vi toàn cầu
Phạm vi toàn cục chỉ định rằng các biến được xác định bên ngoài khối sẽ hiển thị cho đến cuối chương trình.
Ví dụ
#include<stdio.h> int c= 30; /* global area */ main (){ int a = 10; printf (“a=%d, c=%d” a,c); fun (); } fun (){ printf (“c=%d”,c); }
Đầu ra
a =10, c = 30 c = 30
Phạm vi địa phương
Phạm vi cục bộ chỉ định rằng các biến được xác định trong khối chỉ hiển thị trong khối đó và ẩn bên ngoài khối.
Các biến được khai báo trong một khối hoặc hàm (cục bộ) có thể truy cập được trong khối đó và không tồn tại bên ngoài khối đó.
Ví dụ
#include<stdio.h> main (){ int i = 1;// local scope printf ("%d",i); } { int j=2; //local scope printf("%d",j); } }
Đầu ra
1 2
Ngay cả khi các biến được khai báo lại trong các khối tương ứng của chúng và có cùng tên, chúng được coi là khác nhau.
Ví dụ
#include<stdio.h> main (){ { int i = 1; //variable with same name printf ("%d",i); } { int i =2; // variable with same name printf ("%d",i); } }
Đầu ra
1 2
Việc khai báo lại các biến trong các khối có cùng tên với các biến trong khối bên ngoài sẽ che dấu các biến khối bên ngoài khi thực thi các khối bên trong.
Ví dụ
#include<stdio.h> main (){ int i = 1;{ int i = 2; printf (“%d”,i); } }
Đầu ra
2
Các biến được khai báo bên ngoài các khối bên trong có thể truy cập vào các khối lồng nhau, miễn là các biến này không được khai báo trong khối bên trong.
Ví dụ
#include<stdio.h> main (){ int i = 1;{ int j = 2; printf ("%d",j); printf ("%d",i); } }
Đầu ra
2 1