Computer >> Máy Tính >  >> Lập trình >> lập trình C

Các quy tắc phạm vi cục bộ và toàn cục trong ngôn ngữ C là gì?

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