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

Các quy tắc phạm vi đối với các hàm trong lập trình C là gì?

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.

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 r= 50; /* global area */
main (){
   int p = 30;
   printf (“p=%d, r=%d” p,r);
   fun ();
}
fun (){
   printf (“r=%d”,r);
}

Đầu ra

p =30, r = 50
r = 50

Quy tắc phạm vi liên quan đến chức năng

  • Hàm là một khối câu lệnh thực hiện một tác vụ cụ thể.

  • Các biến được khai báo trong phần thân của một hàm được gọi là biến cục bộ

  • Các biến này chỉ tồn tại bên trong hàm cụ thể tạo ra chúng. Chúng chưa được biết đến đối với các chức năng khác và đối với các chức năng chính cũng

  • Sự tồn tại của các biến cục bộ kết thúc khi hàm hoàn thành nhiệm vụ cụ thể của nó và quay trở lại điểm gọi.

Ví dụ

#include<stdio.h>
main (){
   int a=10, b = 20;
   printf ("before swapping a=%d, b=%d", a,b);
   swap (a,b);
   printf ("after swapping a=%d, b=%d", a,b);
}
swap (int a, int b){
   int c;
   c=a;
   a=b;
   b=c;
}

Đầu ra

Before swapping a=10, b=20
After swapping a = 10, b=20

Các biến được khai báo bên ngoài phần thân của một hàm được gọi là các biến toàn cục. Bất kỳ hàm nào cũng có thể truy cập được các biến này.

Ví dụ

#include<stdio.h>
int a=10, b = 20;
main(){
   printf ("before swapping a=%d, b=%d", a,b);
   swap ();
   printf ("after swapping a=%d, b=%d", a,b);
}
swap (){
   int c;
   c=a;
   a=b;
   b=c;
}

Đầu ra

Before swapping a = 10, b =20
After swapping a = 20, b = 10