#include
static int stat;
int getSetStat1(int n) {
int v = stat;
stat = n;
return v;
}
int main(void) {
getSetStat2(4);
getSetStat1(3);
printf("stat.1=%i, stat.2=%i\n",stat, getSetStat2(5));
return 0;
}
Code for c2.c: static int stat;
int getSetStat2(int n) {
int v = stat;
stat = n;
return v;
}
Compile with ''gcc c2.c c1.c''. Output: ''stat.1=3, stat.2=4''.
===== Keyword Static in functions =====
#include
void f() {
static int x;
printf("%i\n", x);
x = 5;
return;
}
int main(void) {
f();
f();
return 0;
}
The code prints
0
5