static extern.
:
static. . , static int i=0 static int i, i ;
, . static. , int i=1 static int i=1 .
static , .
.
print stat, av, p:
#include <stdio.h>
void print(int); // print()
int main(void)
{
int count;
for(count=9; count>=5; count-=2)
print(count); // print()
return 0;
}
// print()
void print(int p)
{
int av=1;
static int stat=1;
printf("p=%d stat=%d av=%d\n",p,stat,av);
stat++;av++;
return 0;
}
p main(), 9 5 2. stat print() , . . stat , print() stat . () av , .
:
p=9 stat=1 av=1
p=7 stat=2 av=1
p=5 stat=3 av=1
. static, , .
. , . , , , . , , . . extern , , . , .
|
|
extern , . , extern, .
. a , summa() . summa() a, :
#include <stdio.h>
void summa()
{
extern float a;
float b=8;
float y=a+b;
printf("Summa=%f\n",y);
}
float a=10;
int main()
{
summa();
return 0;
}
18.
, . . . () , .
static extern.
:
, static, , . static , , , static, , static . static, , , ;
, extern, . extern;
, extern.
extern , . C, .
, , :
1.cpp
#include "fn.h"
int B()
{
return 10;
}
static int C()
{
return 15;
}
fn.h
int B();
int C();
fn.cpp
#include <stdio.h>
#include "fn.h"
int main()
{
int A=B()+C();
printf("%d\n",A);
return 0;
}
: C() *.cpp. , C() .
.
:
|
|
, , . . , ;
, . . , register auto, , . static extern, ;
:
, , . , extern;
, , ;
, , , . . , , , , , , ;
static , . ;
;
, , .