Kvalifikátory variabilného rozsahu (Variable scope qualifiers) →scope
Popis :
Premenné v programovacom jazyku C++, ktorý Arduino používa, majú vlastnosť nazývanú rozsah. To je v kontraste so skorými verziami jazykov, ako je BASIC, kde je každá premenná globálnou premennou.
Globálna premenná je taká, ktorú môže vidieť každá funkcia v programe.
Lokálne premenné sú viditeľné iba pre funkciu, v ktorej sú deklarované.
V prostredí Arduina je akákoľvek premenná deklarovaná mimo funkcie (napr. setup(), loop() atď. globálnou premennou.
Keď sa programy začnú zväčšovať a sú zložitejšie, lokálne premenné sú užitočným spôsobom, ako zabezpečiť, aby k vlastným premenným mala prístup iba jedna funkcia. Tým sa zabráni chybám programovania, keď jedna funkcia neúmyselne upraví premenné používané inou funkciou. Niekedy je tiež užitočné deklarovať a inicializovať premennú v rámci cyklu for. Tým sa vytvorí premenná, ku ktorej je možné pristupovať iba zo zátvoriek for-loop.
Príklad kódu :
int gPWMval; // každá funkcia uvidí túto premennú
void setup() {
// ...
}
void loop() {
int i; // "i" je "viditeľné" iba vo vnútri "loop (slučky)"
float f; // "f" je "viditeľné" iba vo vnútri "loop (slučky)"
// ...
for (int j = 0; j < 100; j++) {
// premenná j je prístupná iba v zátvorkách for-loop
}
}
Pridaj komentár