Doriți să reacționați la acest mesaj? Creați un cont în câteva clickuri sau conectați-vă pentru a continua.

Capitolul 4.8. Structura de bloc

In jos

Capitolul 4.8. Structura de bloc Empty Capitolul 4.8. Structura de bloc

Mesaj  zooky 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.
zooky
zooky
Moderator
Moderator

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

https://e-learning.forumgratuit.ro

Sus In jos

Sus

- Subiecte similare

 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum