Вступ до статичного ключового слова в С

Статичне ключове слово в C відрізняється по-різному, так що це ключове слово, яке можна використовувати як зі змінними, так і з функціями. Тому дуже потрібне розмежування обох, щоб отримати фактичні характеристики або поведінку ключового слова конкретно щодо мови С. Трохи важко отримати повне розуміння так ретельно для початківця, тому ми будемо проїжджати через синтаксис, фактично працюючи, як це працює в C, деякі норми та правила, яких слід дотримуватися, оскільки це може бути дещо заплутано, коли можна використовувати його для використання область змінної та коли використовувати для області функціонального блоку.

Синтаксис

1. Синтаксис статичного ключового слова в C при визначенні змінної:

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

2. Синтаксис статичного ключового слова в C при визначенні функції:

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

Як статичне ключове слово працює в C?

В основному, існує два способи роботи статичного ключового слова з точки зору C.

  • Статичне ключове слово всередині функції.
  • Статичне ключове слово поза функцією.

1. Статичне ключове слово всередині функції

Декларація змінної в межах функції пов'язана з часом збирання та тривалістю зберігання змінної у виклику функції. I прості слова, змінні, визначені як статичні, розширюють сферу їх дії для декількох викликів функцій, і щойно оголошені не можуть втратити сферу застосування до завершення виконання програми. Він починає визначати його сферу в час компіляції.

Приклад

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

Вихід:

2. Статичне ключове слово поза функцією

Після того, як статичне ключове слово оголошено поза функцією, воно обмежує область його використання змінної і стає видимим лише для поточного файлу, а це означає, що функція обмежиться сферою дії на сам вихідний файл. Доступ до цієї статичної змінної або функції отримує обмеження з іншого вихідного файлу.

Хоча вважається добре оголосити функцію статичною, що допомагає в капсуляції даних до конкретної області. Люди з фонового режиму OOP або java background можуть легко пов’язати це з приватним та публічним ключовим словом.

Приклад

Для визначення змінних у зовнішній функції, тобто на глобальному рівні, нам потрібно визначити принаймні статичне ключове слово.

Визначте одну статичну змінну в одному вихідному файлі і ту ж змінну в другій змінній в іншому вихідному файлі.

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);
)

Вихід:

Вказання мінімального розміру параметра масиву

Є одне дуже важливе використання, яке ми ігноруємо, іноді давайте розглянемо це.

Ми можемо вказати компілятору параметр зберігання для мінімального оголошення елементів у межах вказівника масиву на функцію. Але цей випадок дотримується дуже рідко (слід до компілятора C99).

Приклад

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”);
)

В основному, це сповістить, що аргумент не буде нульовим.

Правила та правила для статичного ключового слова в C

1. З точки зору статичної змінної

  • Статична змінна завжди залишається активною, коли програма перебуває в робочому стані на відміну від автоматичних та зарезервованих ключових слів.
  • Зберігання та розподілення пам'яті відбувається в сегменті даних, а не в сегменті стека.
  • За замовчуванням, якщо змінна не оголошена жодним значенням за замовчуванням, вона буде чітко визначена компілятором як 0.
  • Декларація статичних змінних здебільшого робиться за допомогою постійних літералів.
  • В першу чергу вважається, що ми не повинні визначати статичну змінну всередині функції, вона здебільшого робить весь функціональний модуль трохи складним.

2. З точки зору статичної функції

  • Декларація змінної в основному вважається глобальною за замовчуванням, тому використання статичного ключового слова з функцією робить її обмеженою в межах області, обмежуючи область в межах одного вихідного файлу.
  • Одна хороша характеристика стати функції статичною - це повторне використання, тобто ми можемо викликати одну і ту ж функцію кілька разів, коли це потрібно для виконання.

Переваги

  • Вважати змінну статичною вигідною в сенсі, це допомагає оптимізувати весь потік коду.
  • Повторність та переопределення допомагають компілятору викликати будь-яку змінну внутрішньо, не роблячи домінувати жодне інше ключове слово, наприклад extern.
  • Ще однією перевагою є підвищення читабельності таким чином, що майбутнє отримає підтвердження того, що файл оголошений статичним і не доступний жодному іншому файлу чи вихідному файлу.
  • Це також заважає багатьом оголошувати файл c, тобто повторно декларувати його як деяку іншу зовнішню змінну.

Висновок

  • Термін "статичний" має свою тенденцію, чи слід вважати його розумним чи безглуздим. Різна мова програмування має різні значення, що стосуються лише статичного ключового слова. Об'єктно-орієнтована мова, вона дуже добре поводиться з властивістю інкапсуляції.
  • З точки зору C, C # і C ++ він має різну природу. Деякі вважають використання статики найкращим через такі переваги, як оптимізація, повторне використання, обмеження обсягу. Більшість з них - це підтвердження остаточного читабельного файлу.
  • Пізніше, коли-небудь, включаючи деяких наївних користувачів, можна легко дізнатися, чи не збігаються два вихідні файли, підрахувавши внутрішній вміст статичних функцій та статичну змінну, як це відбудеться через помилку компіляції.
  • Але з точки зору C це не вважається безпечним і безпечним способом, оскільки внутрішня комунікація між потоками стає небезпечною і складною, оскільки вона зрештою стає глобальною змінною. Тому іноді вважається не настільки звичайним способом з точки зору C використовувати статичне ключове слово у C.

Рекомендовані статті

Це посібник зі статистичних ключових слів у C. Тут ми обговорюємо, як статичне ключове слово працює в C із правилами та правилами. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. Змінні в С
  2. Обмін в С
  3. Математичні функції в С
  4. Зворотне число в С
  5. Обмін на PHP
  6. PHP Ключові слова
  7. Топ 5 атрибутів події HTML із прикладами