Capitolul 4.8. Structura de bloc
:: Programare :: C & C++ :: Capitolul 4
Pagina 1 din 1
Capitolul 4.8. Structura de bloc
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.
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.
Subiecte similare
» Capitolul 4. FUNCTII SI STRUCTURA PROGRAMULUI
» Capitolul 3.2.IF-ELSE
» Capitolul 3.3. ELSE-IF
» Capitolul 3.5. WHILE si FOR
» Capitolul 1.1. Pornirea
» Capitolul 3.2.IF-ELSE
» Capitolul 3.3. ELSE-IF
» Capitolul 3.5. WHILE si FOR
» Capitolul 1.1. Pornirea
:: Programare :: C & C++ :: Capitolul 4
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum
|
|