Wprowadzenie do słowa kluczowego w C

Statyczne słowo kluczowe w C różni się w różny sposób, ponieważ jest słowem kluczowym, którego można używać zarówno ze zmiennymi, jak i funkcjami. Dlatego bardzo potrzebne jest uzyskanie zarówno rozgraniczenia, aby uzyskać rzeczywistą charakterystykę lub zachowanie słowa kluczowego, w szczególności w języku C. Dla początkującego trudno jest tak dokładnie zrozumieć, więc poprowadzimy przez składnię, faktyczne działanie, jak to działa w C, pewne normy i reguły, których należy przestrzegać, ponieważ może być nieco mylące, kiedy użyć zakres zmiennej i kiedy stosować dla zakresu bloku funkcjonalnego.

Składnia

1. Składnia słowa kluczowego static w C podczas definiowania zmiennej:

static
static
Examples of syntax for static variables:
static int run = 0;
int static sleep = 0;

2. Składnia słowa kluczowego static w C podczas definiowania funkcji:

static
static
Examples of syntax for static functions:
static void run ()
(
)
void static sleep ()
(
)

Jak działa słowo statyczne w C?

Zasadniczo istnieją dwa sposoby działania słowa kluczowego w kategoriach C.

  • Statyczne słowo kluczowe wewnątrz funkcji.
  • Statyczne słowo kluczowe poza funkcją.

1. Statyczne słowo kluczowe w funkcji

Deklaracja zmiennej w funkcji jest powiązana z czasem kompilacji i czasem przechowywania zmiennej w wywołaniu funkcji. W prostych słowach zmienne zdefiniowane jako statyczne rozszerzają swój zakres dla wielu wywołań funkcji i po zadeklarowaniu nie mogą utracić swojego zakresu aż do zakończenia wykonywania programu. Zaczyna definiować swój zasięg już w czasie kompilacji.

Przykład

# include
int main ()
(
run ();
run ();
run ();
)
void run ()
(
static int running = 0;
++running;
printf ("The function \"run\" was called %d times.\n", running);
)

Wynik:

2. Słowo kluczowe statyczne poza funkcją

Po zadeklarowaniu statycznego słowa kluczowego poza funkcją, ogranicza on zakres zmiennej i staje się widoczny tylko dla bieżącego pliku, co oznacza, że ​​zakres funkcji zostanie ograniczony do samego pliku źródłowego. Dostęp do tej zmiennej statycznej lub funkcji uzyskuje ograniczenie z innego pliku źródłowego.

Chociaż dobrze jest zadeklarować funkcję jako statyczną, która pomaga w enkapsulacji danych do określonego zakresu. Osoby z tła OOP lub java mogą łatwo powiązać to z działaniem prywatnego i publicznego słowa kluczowego.

Przykład

Aby zdefiniować zmienne w funkcji zewnętrznej, tj. Na poziomie globalnym, musimy zdefiniować przynajmniej słowo kluczowe statyczne.

Zdefiniuj jedną zmienną statyczną w jednym pliku źródłowym i tę samą zmienną w drugiej zmiennej w innym pliku źródłowym.

Source1.c
static int sleep = 0;
Source2.c
static int sleep= 0;
static void sleep ()
(
static int sleeping = 0;
++ sleeping;
printf (“the function \ “sleep\” was called %d times.\n”, sleeping);
)

Wynik:

Określanie minimalnego rozmiaru parametru tablicy

Jest jedno bardzo istotne zastosowanie, które czasami ignorujemy, rzućmy na to okiem.

Możemy również przekazać kompilatorowi parametr pamięci dla minimalnej deklaracji elementów w obrębie wskaźnika tablicy do funkcji. Ale ten przypadek występuje bardzo rzadko (aż do kompilatora C99).

Przykład

Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)
Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)

Zasadniczo poinformuje to, że argument nie będzie zerowy.

Regulamin statycznego słowa kluczowego w C

1. Pod względem zmiennej statycznej

  • Zmienna statyczna zawsze pozostaje aktywna, gdy program działa, w przeciwieństwie do słów kluczowych auto i zastrzeżonych.
  • Pamięć i przydział pamięci występują w segmencie danych, a nie w segmencie stosu.
  • Domyślnie, jeśli zmienna nie jest zadeklarowana z żadną wartością domyślnie, kompilator zdefiniuje jawnie jako 0.
  • Deklaracja zmiennych statycznych odbywa się głównie przy użyciu stałych literałów.
  • Uważa się przede wszystkim, że nie powinniśmy definiować zmiennej statycznej wewnątrz funkcji, co powoduje, że cały moduł funkcjonalny jest nieco złożony.

2. Pod względem funkcji statycznej

  • Deklaracja zmiennej jest zasadniczo traktowana jako globalna, dlatego użycie słowa kluczowego static z funkcją powoduje, że jest ona ograniczona w zakresie poprzez ograniczenie zakresu w tym samym pliku źródłowym.
  • Jedną dobrą cechą statyczną funkcji jest możliwość ponownego użycia, tzn. Możemy wywołać tę samą funkcję wiele razy, ilekroć jest to wymagane do wykonania.

Zalety

  • Uznanie zmiennej za statyczną jest korzystne w tym sensie Pomaga w optymalizacji całego przepływu kodu.
  • Ponowne użycie i redefinicja pomagają kompilatorowi wywoływać dowolną zmienną wewnętrznie, bez dominacji innych słów kluczowych, takich jak extern.
  • Kolejną zaletą jest zwiększenie czytelności w taki sposób, że w przyszłości otrzyma potwierdzenie, że plik jest zadeklarowany jako statyczny i nie jest dostępny dla żadnego innego pliku lub pliku źródłowego.
  • Zapobiega to również zadeklarowaniu pliku c, tj. Ponownej deklaracji go jako innej zmiennej zewnętrznej.

Wniosek

  • Termin „statyczny” ma swoją własną tendencję do tego, czy należy go uważać za sensowny, czy bez sensu. Inny język programowania ma różne znaczenia związane tylko ze słowem kluczowym static. Język zorientowany obiektowo, bardzo dobrze zachowuje się z właściwością enkapsulacji.
  • Pod względem C, C # i C ++ Ma inny charakter. Niektórzy uważają użycie statycznego za najlepsze ze względu na zalety, takie jak optymalizacja, możliwość ponownego użycia, ograniczenie zakresu. Większość z nich to potwierdzenie ostatecznego odczytu pliku.
  • Później, w tym niektórzy naiwni użytkownicy, mogą łatwo dowiedzieć się, czy dwa pliki źródłowe nie pasują do siebie, łącząc wewnętrzną zawartość funkcji statycznych i zmiennych statycznych, jak to zrobi przez błąd kompilacji.
  • Ale w kategoriach C nie jest to uważane za bezpieczny sposób, ponieważ wewnętrzna komunikacja między wątkami staje się niebezpieczna i trudna, ponieważ ostatecznie staje się zmienną globalną. Dlatego czasami uważa się, że nie jest tak konwencjonalny sposób w kategoriach C, aby użyć statycznego słowa kluczowego w C.

Polecane artykuły

Jest to przewodnik po statycznym słowie kluczowym w C. Tutaj omawiamy, w jaki sposób statyczne słowo kluczowe działa w C z regulaminem. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Zmienne w C
  2. Zamiana w C
  3. Funkcje matematyczne w C
  4. Odwróć liczbę w C.
  5. Zamiana w PHP
  6. Słowa kluczowe PHP
  7. Top 5 atrybutów zdarzeń HTML z przykładami