Capitolul 4.8. Structura de bloc

Vezi subiectul anterior Vezi subiectul urmator In jos

Capitolul 4.8. Structura de bloc

Mesaj  zooky la data de Mier Mar 18, 2009 12:21 pm

Limbajul C nu este un limbaj structurat pe bloc in sensul lui PL/1 sau ALGOL, adica functiile nu pot fi definite in alte functii.

Pe de alta parte, variabilele pot fi definite intr-o maniera "structura de bloc". Declaratiile de variabile (incluzind initializarile) pot urma dupa paranteza stinga care introduce orice instructiune compusa si nu numai dupa cea care incepe o functie. Variabilele declarate in aceasta maniera acopera variabilele numite identic in blocurile mai din afara si ramin in existenta pina cind intilnesc o paranteza dreapta. De exemplu

if (n > 0) {
int i; /* declara un nou i */
for (i = 0; i < n; i++)
...
}

domeniul variabilei i este intreaga ramura a lui if; acest i nu are nici o legatura cu oricare alt i din program. Structura de bloc se aplica deasemenea variabilelor externe.

Date declaratiile:

int x;
f()
{
double x;
...
}


atunci, in cadrul functiei f, occurentele lui x se refera la variabila interna double, in afara lui f, ele se refera la externul integer. La fel se intimpla lucrurile si cu numele de parametri formali :

int z;
f(z)
double z;
{
...
}

In cadrul functiei f, z se refera la parametrul formal, si nu la z-ul extern.
avatar
zooky
Moderator
Moderator

Numarul mesajelor : 147
Data de inscriere : 15/03/2009
Varsta : 24
Localizare : Cernatesti City

Vezi profilul utilizatorului http://e-learning.forumhit.ro

Sus In jos

Vezi subiectul anterior Vezi subiectul urmator Sus


 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum