Глобалните променливи, програмиране на С и С
нищожен func1 (свободен). func2 (свободен);
вътр брои; / * Броят е глобална променлива * /
вътр главния (свободен)
брои = 100;
func1 ();
връщане 0; / * Съобщение за успешното приключване на работата * /
>
нищожен func1 (свободен)
func2 ();
ФОРМАТ ( ". метър", брой); / * 100 * дисплеи /
>
нищожен func2 (свободен)
вътр брои;
за (брой = 1; брой<10; count++)
putchar ( '');
>
Един по-близък поглед към тази част от софтуера. Трябва да се разбере, че въпреки че не главната (), нито func1 () не декларирате променлива брой, но те могат да го използват. func2 () декларира, локална променлива брой. Когато func2 () се отнася до броя, това се отнася само за локалната променлива вместо WAN. Ние трябва да помним, че ако глобални и локални променливи имат едно и също име, всяко споменаване на името в рамките на функцията когато декларираната локалната променлива ще се отнасят към локалната променлива, и няма да има никакво въздействие върху глобалното. това е много удобно. Ако я забравите, това може да изглежда странно, че програмата работи дори ако всичко изглежда правилно.
Глобалните променливи се съхраняват в област фиксирана памет, определен от компилатора. Глобалните променливи са изключително полезни, когато едни и същи данни се използва в множество функции на програмата. Избягвайте излишно използване на глобални променливи поради три причини:
- Те използват паметта за целия период на програмата, а не когато те са необходими.
- Използването на глобални променливи, а не местни каузи, че функциите са по-самостоятелни, тъй като те зависят от променливи, които се определят отвън.
- С помощта на голям брой глобални променливи може да доведе до грешки в програмата, поради неизвестни и нежелани ефекти.
Един от основните елементи на структурата на езици е разделянето на код и данни. В C разделяне се постига чрез използването на локални променливи и функции. Например, по-долу са показани два начина за писане MUL () - проста функция, която изчислява продукта от две числа.
Два начина на писане MUL ()