Въведение в статичната ключова дума в С

Статичната ключова дума в C варира различно по начин, който е ключова дума, която може да се използва както с променливи, така и с функции. Следователно е много необходимо да се направи разграничение и за двете, за да се получат действителните характеристики или поведението на ключовата дума конкретно по отношение на езика на 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?

По принцип има два начина, по които статичната ключова дума работи по отношение на В.

  • Статичната ключова дума във функцията.
  • Статичната ключова дума извън функция.

1. Статична ключова дума във функцията

Декларацията на променливата в рамките на функция е свързана с времето на компилиране и продължителността на съхранение на променливата в рамките на функционален разговор. Прости думи, променливите, дефинирани като статични, разширяват обхвата си за множество функционални обаждания и веднъж декларирани не могат да загубят своя обхват до края на изпълнението на програмата. Той започва да определя обхвата си по време на компилиране.

пример

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

изход:

2. Статична ключова дума извън функция

След като статичната ключова дума е декларирана извън функция, тя ограничава нейния обхват на променливата и става видима само за текущия файл, което означава, че функцията ще получи обхвата си ограничена до самия изходен файл. Достъпът до тази статична променлива или функция се ограничава от друг изходен файл.

Въпреки че се счита за добре дадена функция да бъде декларирана като статична, което помага при капсулирането на данни до определен обхват. Хората от OOPs фон или java фон могат лесно да го свържат с частната и публичната ключова дума.

пример

За да дефинираме променливи във външна функция, т.е. на глобално ниво, трябва да определим поне статична ключова дума.

Определете една статична променлива в един изходен файл и същата променлива във втората променлива в друг изходен файл.

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. По отношение на статичната функция

  • Декларацията на променливата по принцип се счита за глобална по подразбиране, поради което използването на статична ключова дума с функция я прави ограничена в обхвата, като ограничава обхвата в един и същ изходен файл.
  • Една добра характеристика за превръщането на функцията в статична е повторното използване, т.е. можем да извикваме една и съща функция многократно, когато това е необходимо за изпълнение.

Предимства

  • Да се ​​счита променлива за статична е изгодно в смисъл, тя помага за оптимизиране на целия код на потока.
  • Повторната употреба и предефинирането помагат на компилатора да извика вътрешно всяка променлива, без да прави друга ключова дума като екстерн, за да доминира.
  • Друго предимство е увеличаването на четимостта по начин, че бъдещето ще получи потвърждение, че файлът е деклариран като статичен и не е достъпен от друг файл или източник.
  • Също така не позволява много да декларира файла c, т.е. да го декларира като някаква друга външна променлива.

заключение

  • Терминът „статичен“ има своя тенденция дали да се счита за смислен или без смисъл. Различният език за програмиране има различни значения, свързани само със статичната ключова дума. Обектно ориентиран език, той се държи със свойството на капсулиране много добре.
  • По отношение на C, C # и C ++ Той има различно естество. Някои считат използването на статични за най-доброто поради предимствата, които може да се похвали като оптимизация, повторна употреба, ограничение на обхвата. Повечето от тях е потвърждение на окончателния четим файл.
  • По-късно някъде, включително някои наивни потребители, могат лесно да се запознаят дали два изходни файла не съвпадат, като изчислят вътрешното съдържание на статичните функции и статичната променлива, както ще стане чрез грешката при компилация.
  • Но по отношение на C това не се счита за безопасен и сигурен начин, защото вътрешната комуникация между нишките става опасна и трудна, тъй като в крайна сметка се превръща в глобална променлива. Следователно понякога се счита, че не е толкова конвенционален начин от гледна точка на C да се използва статична ключова дума в C.

Препоръчителни статии

Това е ръководство за статичната ключова дума в C. Тук обсъждаме как статичната ключова дума работи в C с правилата и регламентите. Можете също да разгледате следната статия, за да научите повече -

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