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

Các biến tĩnh cục bộ trong ngôn ngữ C là gì?

Biến tĩnh cục bộ là một biến, thời gian tồn tại của nó không dừng lại với một lệnh gọi hàm mà nó được khai báo. Nó kéo dài cho đến thời gian tồn tại của một chương trình hoàn chỉnh. Tất cả các lệnh gọi hàm đều chia sẻ cùng một bản sao của các biến tĩnh cục bộ.

Các biến này được sử dụng để đếm số lần một hàm được gọi. Giá trị mặc định của biến static là 0. Trong khi, phạm vi cục bộ thông thường chỉ định rằng các biến được xác định trong khối chỉ hiển thị trong khối đó và không hiển thị bên ngoài khối.

Các biến toàn cục nằm ngoài khối được hiển thị cho đến cuối chương trình.

Ví dụ

Sau đây là chương trình C cho biến cục bộ -

#include<stdio.h>
main ( ){
   int a=40 ,b=30,sum; //local variables life is within the block
   printf ("sum=%d" ,a+b);
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

sum=70

Ví dụ

Sau đây là chương trình C cho biến toàn cục -

int c= 30; /* global area */
main ( ){
   int a = 10; //local area
   printf ("a=%d, c=%d", a,c);
   fun ( );
}
fun ( ){
   printf ("c=%d",c);
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

a =10, c = 30

Ví dụ

Sau đây là chương trình C cho biến tĩnh cục bộ -

#include <stdio.h>
void fun(){
   static int x; //default value of static variable is 0
   printf("%d ", a);
   a = a + 1;
}
int main(){
   fun(); //local static variable whose lifetime doesn’t stop with a function
   call, where it is declared.
   fun();
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

0 1