ALTE DOCUMENTE
|
||||||||
Блочная струкm 18518b118s 0;ура
Язык «C» не является языком с блочной струкm 18518b118s 0;урой в смысле PL/1 или Алгола; в нем нельзя описывать одни функции внутри других.
Переменные же, с другой стороны, могут определяться по методу блочного струкm 18518b118s 0;урирования. Описания переменных (включая инициализацию) могут следовать за левой фигурной скобкой, открывающей любой оператор, а не только за той, с которой начинается тело функции. Переменные, описанные таким образом, вытесняют любые переменные из внешних блоков, имеющие такие же имена, и остаются определенными до соответствующей правой фигурной скобки. Например, в
if (n > 0)
i if i i
Блочная струкm 18518b118s 0;ура влияет и на область действия внешних переменных. Если даны описания:
int x;
f
x f double f -
int x
f double x
f x
|