Lokalna premenna - ujasnenie
Napísané: 26 Sep 2022, 11:56
Ahojte,
Viem ze ak pred main() deklarujem premennu, tak je to globalna premenna.
A ked premennu deklarujem vo vnutri nejakej funkcie tak je lokalna premenna pre tu funkciu a ona "umrie" akonahle program opusti tu funkciu kde bola deklarovana.
Otazka1: Tato lokalna premenna c (vid priklad nizsie)deklarovana vo funkcii Vypocet(), je platna aj v dalsich volanych funkciach?
(Pozn. Nehladajte v tom logiku, je to len ilustracia co mam na mysli.)
Bez ohladu na to ci sa to robi takto alebo nie (toto je len priklad ci chapem lok. premennu), fungoval by ten priklad?
Otazka 2:
Mozem aj takto vytvorit blok a v nom lokalnu premennu len pre konkretny vypocet? Potrebujem "podrzat" na chvilku privypoctoch nejaky medzi vysledok
(Pozn. Nehladajte v tom logiku, je to len ilustracia co mam na mysli.)
Toto vyssie by fungovalo alebo nie?
Viem ze ak pred main() deklarujem premennu, tak je to globalna premenna.
A ked premennu deklarujem vo vnutri nejakej funkcie tak je lokalna premenna pre tu funkciu a ona "umrie" akonahle program opusti tu funkciu kde bola deklarovana.
Otazka1: Tato lokalna premenna c (vid priklad nizsie)deklarovana vo funkcii Vypocet(), je platna aj v dalsich volanych funkciach?
(Pozn. Nehladajte v tom logiku, je to len ilustracia co mam na mysli.)
Kód: Vybrať všetko
int a;
int b;
int vysledok;
main()
{
vysledok = Vypocet();
}
int Vypocet()
{
int c;
int d;
c=a+b // a, b, su glob. premenne - zname
d = Delenie();
return (c+d);
}
int Delenie()
{
return=c/2; // c je lokalna prenmenna deklarovana vo Vypocet(). Je znama aj tu?
//Popr. ak by sa zavolala dalsia funkcia, je znama aj tam?
}
Otazka 2:
Mozem aj takto vytvorit blok a v nom lokalnu premennu len pre konkretny vypocet? Potrebujem "podrzat" na chvilku privypoctoch nejaky medzi vysledok
(Pozn. Nehladajte v tom logiku, je to len ilustracia co mam na mysli.)
Kód: Vybrať všetko
int a;
main()
{
prikaz;
prikaz;
{
int c;
c= a/3;
a= c+5;
}
prikaz;
prikaz;
}