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

Các hàm tĩnh trong C


Hàm tĩnh trong C là một hàm có phạm vi được giới hạn trong tệp đối tượng của nó. Điều này có nghĩa là hàm tĩnh chỉ hiển thị trong tệp đối tượng của nó. Một hàm có thể được khai báo là hàm tĩnh bằng cách đặt từ khóa static trước tên hàm.

Một ví dụ chứng minh điều này được đưa ra như sau -

Có hai tệp first_file.c và second_file.c. Nội dung của các tệp này như sau -

Nội dung của first_file.c

static void staticFunc(void)
{
   printf("Inside the static function staticFunc() ");
}

Nội dung của second_file.c

int main()
{
   staticFunc();
   return 0;
}

Bây giờ, nếu đoạn mã trên được biên dịch thì sẽ xảy ra lỗi, tức là "tham chiếu không xác định đến staticFunc ()". Điều này xảy ra vì hàm staticFunc () là một hàm tĩnh và nó chỉ hiển thị trong tệp đối tượng của nó.

Một chương trình thể hiện các hàm tĩnh trong C được đưa ra như sau -

Ví dụ

#include <stdio.h>

static void staticFunc(void){
   printf("Inside the static function staticFunc() ");
}

int main()
{
   staticFunc();
   return 0;
}

Đầu ra

Kết quả của chương trình trên như sau -

Inside the static function staticFunc()

Trong chương trình trên, hàm staticFunc () là một hàm tĩnh in ra ”Bên trong hàm tĩnh staticFunc ()”. Hàm main () gọi staticFunc (). Chương trình này hoạt động chính xác vì hàm tĩnh chỉ được gọi từ tệp đối tượng của chính nó.