.


:




:

































 

 

 

 





(scope rules) , , . . , . : , . , .

, , . : . , . . , , . ( ) .

#include <stdio.h>

Void f(void);

Void main(void)

{

Int i;

i=1;

F();

printf( main i %d\n,i);

}

Void f(void)

{

Int i;

i=10;

printf( f() i %d\n,i);

}

, i, main() .

, . , . , .

, - . , . .

, . . . :

auto ; extern ; static ; register .

:

Static int sum;

Register int plus;

, auto. . , . (.. ) . , , , . , , . (register) . , , , , . , .

:

Register int quick;

(extern) . , :

Void f(void)

{

extern int j; /* */

}

. , . :

int var; /* var */

Void main(void)

{

extern int var; /* */

}

Func1()

{

extern int var1; /* var1 */

/* var , */

}

Func2()

{ /* var */

/* var1 */

}

int var1; /* */

Fun3()

{ /* var1 */

int var; /* var var */

/* */

}

Func4()

{ /* var */

auto int var1; /* var1 */

}

static. - . . , . . , .

static int count = 10; count count . , , . .

#include <stdio.h>

/* */

void trystat(void); /* */

Void main(void)

{

Int i;

for(i=1; i<=3; i++)

{

printf(Call # %d\n,i);

Trystat();

printf(Call # %d\n,i);

Trystat();

}

}

Void trystat(void)

{

int auto_l=1;

static int stat_l=1;

printf(auto_l=%d stat_l=%d\n,auto_l++, stat_l++);

}

() , . . static . . , , , . , , .

:

 

auto
register
static
static
extern

 





:


: 2016-11-12; !; : 767 |


:

:

, .
==> ...

1362 - | 1173 -


© 2015-2024 lektsii.org - -

: 0.01 .