DEMONSTRACIJA OPSEGA VREDNOSTI I PRIMENE STATICKIH I NESTATICKIH PROMENLJIVIH
////////////////////////////////////////////////////////////////////////////////
// ITS - Visoka Škola Strukovnih Studija Za Informacione Tehnologije
// http://its.edu.rs
// Predmet: Osnovi Programiranja - Programski jezik
// Primer: Program koji demonstrira primenu statickih i nestatickih promenljivih.
///////////////////////////////////////////////////////////////////////////////
#include<stdio.h>
//Globalna promenljiva
int a=0;
/*Uvecava se golbalna promenljiva a*/
void increase()
{
a++;
printf("increase::a=%d\n",a);
}
/*Umanjuje se lokalna promenljiva a.
Globalna promenljiva zadrzava svoju vrednost*/
void decrease()
{
/*Ovo je nezavisna promenljiva u odnosu na globalnu a.*/
int a=0;
a--;
printf("decrease::a=%d\n",a);
}
void nestaticna()
{
/*Nestaticne promenljive ne cuvaju vrednost kroz pozive funkcije*/
int s=0;
s++;
printf("nestaticna::s=%d\n",s);
}
void staticna()
{
/*Staticke promenljive cuvaju vrednost kroz pozive funkcije.
Inicijalizacija se odvija samo tokom prvog poziva*/
static s=0;
s++;
printf("staticna::s=%d\n",s);
}
main()
{
//Promenljive lokalne za funkciju main
int i, x=3;
printf("main::x=%d\n",x);
for(i=0; i<3; i++)\
{
/*Promenljiva u okviru bloka je nezavisna od spoljasnje promenljive.
Ovde se koristi promenljiva x, lokalna za blok petlje koja ima vrednsot 5,
dok orginalno x i dalje ima vrednost 3*/
int x=5;
printf("for::x=%d\n",x);
}
//U ovom okviru x ima vrednost 3
printf("main::x=%d\n",x);
increase();
decrease();
//Globalna promenljiva a
printf("main::a=%d\n",a);
/*Demonstracija nestatickih promenljivih*/
for(i=0; i<3; i++)
nestaticna();
/*Demonstracija statickih promenljivih*/
for(i=0; i<3; i++)
staticna();
}

















