倩åœã«ãããèšèªå ¥éããããµæ§é äœ verïŒ.2126
ðèªäœé¢æ°ïŒïŒããŒã«ã«å€æ°ã®ããŒã¿æ å ±ã¯ããŒã«ã«å€æ°ãå®çŸ©ããããããã¯å ã®åœä»€æããã¹ãŠå®è¡ããããšã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶ããŠããŸããŸããããã§ããŒã¿æ å ±ç¶æã®ããã«staticãçšããããŸãã
ðèªäœé¢æ°ïŒïŒããŒã«ã«å€æ°ã®ããŒã¿æ å ±ã¯ããŒã«ã«å€æ°ãå®çŸ©ããããããã¯å ã®åœä»€æããã¹ãŠå®è¡ããããšã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶ããŠããŸããŸããããã§ããŒã¿æ å ±ç¶æã®ããã«staticãçšããããŸãã
ã¢ã¬ãµãã¿ãªãã
次ã®ããã°ã©ã ã®ããã«
ðããã°ã©ã ã¯ã¡ãã£ãšäžã®æ¹ã«ãããŸãð
ããŒã«ã«å€æ°aã®å€æ°å®£èš
int a;
ãå«ã
void f(void){
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
}
ãšå®çŸ©ãããèªäœé¢æ°fã
mainé¢æ°å ã§
ïŒå
f();
f();
f();
ãšãã³ã ããŠ
å®è¡ãããªãðã
#include <stdio.h>
void f(void){
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
}
int main(void){
f();
f();
f();
return 0;
}
ã¢ã¬ãµãð
ããã°ã©ã ã®å®è¡çµæã¯
ã©ã®ããã«è¡šç€ºããããšããããããŸããïŒã
ããã¯ã¹ããªã¯ã¯ã¯
ç°¡åãç°¡åããããããã¡ãã
ããã°ã©ã ã®å®è¡çµæã¯
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
ã ãã ã
ã¢ã¬ãµãã¯ããðãããªãã§ãã
ããã°ã©ã ã®å®è¡çµæã¯
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
ã«ãªããŸãã
çããã®äºæ³ã©ããã§ãããïŒã
ããã¯ã¹ãè¶ ãç°¡åãªåé¡ã ã£ããªïŒ
ã¯ã¯ã¯ã¯ã¯ã¯ã¯ãã£ã¯ã¯ã¯ãã£ã¯ã¯ã¯ã¯ãããã
ãããããããããããããã
ã¢ã¬ãµãããã§ããã
ãã®ããã°ã©ã ã«ãããŠã¯
f();ãã€ãã£ãŠ
f();
f();
f();
ãš
èªäœé¢æ°fã®å®çŸ©å ã«èšè¿°ãããŠããåœä»€æ
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
ã3åå®è¡ããã®ã§ãã
1åããšã«
f();ãå®è¡ããããšã«ãªããŸã
èªäœé¢æ°f()ã®äžèº«,ãããã¯{}å ã®åœä»€æã¯
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãšãªã£ãŠããã®ã§
1åç®ã®f();
ã§ã¯
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãå®è¡ããããšã«ãªããŸã
a++;ã®å®è¡ã®åŸ
aã®å€ã¯ïŒã«ãªã£ãŠããŸãã
ã§ãã
å®ã¯
èªäœé¢æ°f();ã®å®è¡ãçµãã£ãç¬éã«
ããŒã«ã«å€æ°aã¯æ°å€2ããš
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶å»ãããŠããŸã
ã€ãŸã
ãã®å€æ°åaãå€æ°aã«æ ŒçŽããŠããæ°å€ã
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶å»ãããŠããŸã
èªäœé¢æ°fã®ãããã¯å ïœïœã§å€æ°å®£èšãããããŒã«ã«å€æ°aã¯
èªäœé¢æ°fã®ãããã¯å ïœïœã®åœä»€æãå šãŠå®è¡ããããš
ããŒã«ã«å€æ°aã«æ ŒçŽãããå€ããšæ¶ããŠããŸããšããããã§ãã
ã§ãã®ã§
次ã«f();
ãå®è¡ãããšãã«ã¯
èªäœé¢æ°ã®å®çŸ©ã§ãã
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãæåããå®è¡ãããã®ã§
aã®å€ã¯1ããå§ãŸããšããããã§ãã
ããã¯ã¹ããªãããããããããã«ããããããããããããã
ããã ã£ãã®ããð
f();ãå®è¡ãããåŸ
a=2ãšãªã£ãŠããã
ãããããããããã®ãŸãŸa=2ã®ããŒã¿ãã¡ã¢ãªã«ä¿åããããŸãŸ
次ã®f();ãå®è¡ãããŠããã®ããšããã£ãã
ã ã
f();
ãçµäºãããæç¹ã§
å€æ°aãšå€æ°aã«æ ŒçŽãããå€2ã¯
ã¡ã¢ãªããæ¶å»ãããŠããã®ã
次ã®f();
ð
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãå®è¡ããããšã
int a;
a=1;ã«ãã
aã«æ ŒçŽãããŠããå€ã2ãã1ã«å€åããŠããã®ãšããã£ãŠããããã
ãŠãããããã§ããã
å®ã¯
f();ãå®è¡ããããã³ã«
ã¡ã¢ãªã«ä»ããããaãšããååãš
ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ã¯
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã®ç¯çŽã®ãã
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶ããŠããã®ã§ãã
ãã®ããšã¯
èªäœé¢æ°å ã§å®çŸ©ãããå€æ°ã«ã¯å¯¿åœããããšãããããŠããŸãã
èªäœé¢æ°ã«ãããã
äžè¬ã«
ãããã¯å ïœïœã§ããŒã«ã«å€æ°aãå€æ°å®£èšãããŠããå Žå
ãããã¯å ïœïœã®åœä»€æãå šãŠå®è¡ããããš
aãšããååã®ä»ããããã¡ã¢ãªã¯aãšããååãæ¶å»ãã
ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ã
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã®ç¯çŽã®ãã
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶å»ãããŸãã
ãã®ãããªããã§
ããããããããð èªäœé¢æ°f();ãå®è¡ãããæç¹ã§ð
ãã
ããð aãšããååã®ä»ããããã¡ã¢ãªã¯aãšããååãæ¶å»ããð
ããã
ããããð ãã®ã¡ã¢ãªã«æ ŒçŽãããŠããå€ãæ¶å»ãããŸãð
ãããããããããããããã€ãŸã
ãããð èªäœé¢æ°ã®ãããã¯{}å ã§å®çŸ©ãããããŒã«ã«å€æ°aã¯ð ãã
ãããããããããð æ ŒçŽããŠããæ°å€ãšãã«ð
ãããããð ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶ããŠããŸããŸãð
ã§ãã®ã§
ããããããããããããã èªäœé¢æ°ã®å®è¡ã«ãã
ãããããã
ããããããããèªäœé¢æ°å ã§å®çŸ©ãããå€æ°aã«æ ŒçŽãããŠããå€ã
ãããããããããããããã
ããããããããa=1ããa=2ã®ããã«å€åãããšããŠã
èªäœé¢æ°ã®å®è¡ãçµäºãããš
ããããããããããããããã®æ°å€ããŒã¿ã¯
ãããããŒã«ã«å€æ°aããšã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶ããŠããŸããŸãã
ããããããããããããããã®ãŸãŸã§ã¯
ãããããããããããããã®a=2ã®ããŒã¿ã
ããããããã¡ã¢ãªã«ä¿åãããŸãŸã«ããããšãã§ãã
ãããããããããå©çšããããšãã§ããªãã®ã§ã
ããããããããããããããããããããããããããããããããããã
ããã¯ã¹ãããªãã»ã©ãã
ã¶ãŒã«ããããããããããšãªã®ãã«ãïŒ
ãããããããããèªäœé¢æ°ã®ãããã¯{}å ã§
ããããå€æ°å®£èšãããããŒã«ã«å€æ°ã«æ ŒçŽãããæ°å€ããŒã¿ã¯
ãããðèªäœé¢æ°ããïŒåãå®è¡ãããããšã«ð
ðã€ãŸãèªäœé¢æ°ã®ãããã¯{}å ã®åœä»€æããã¹ãŠå®è¡ãããããšã«ð
ãã
ãããããããã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã®ç¯çŽã®ãã
ããããŒã«ã«å€æ°ã®ååaã®ããŒã¿ãšäžç·ã«ã¡ã¢ãªããæ¶ããŠããŸãã®ã«ãã
ãããããããã
ãããããããããããããã ãã
ããŒã«ã«å€æ°å®£èšãè¡ãããèªäœé¢æ°ãå®è¡ãããããšã«ãã
ããããŒã«ã«å€æ°ã«æ ŒçŽãããæ°å€ããŒã¿ãå€åããŠãããšããŠã
ãããããããããã®æ°å€ããŒã¿æ å ±ã¯ä¿æããã
ãããããããããðããããã£ã±ããšð
ããããã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªå ããæ¶ããŠããŸãã®ã«ã
ã©ããã«ãïœ
倧äºãªããšã«ãã®ã§ç¹°ãè¿ããã®ã«ãð
ãã£ã±ãããã£ã±ãã
å¬ãããã«é¡ãæ«ã§ãç«ã¡ããã
ãœãŒã©ãŒãããªïœã«ãããã£ã¡ãŸã£ããªïœïœïœðã
ã¢ã¬ãµãã§ããã
ïŒåç®ã®
f();ãå®è¡ãããš
èªäœé¢æ°fã®å®çŸ©å ã®åœä»€æ
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãå®è¡ãããããšã«ãªã
ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããæ°å€ã¯
a++;ã®ã¯ãããã«ãã
int a=1;
ãã
a=1ãšãªã£ãŠããç¶æ ãã
a=2ãšãªã£ãŠããç¶æ ã«å€åããŠããã®ã§ãã
ïŒåç®ã®
f();ã®å®è¡çµäºãšåæã«
ããŒã«ã«å€æ°aã¯
ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããæ°å€ a=2ã®æ å ±ããš
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶ããŠããŸã£ãŠããŸãã
ãŸããããããããšã«ãã®ã§
2åç®ã®
f();ã®å®è¡ã®éã«
ãŸãæåãã
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãšf();ãå®è¡ãããŸã
ã§ãã®ã§
ä»ã®ããã°ã©ã ã§ã¯
ããã°ã©ã ã®å®è¡çµæã¯
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
ã衚瀺ãããããšã«ãªããŸãã
倧äºãªããšã«ãã®ã§ç¹°ãè¿ããŸããã«ããã
ãœãŒã©ãŒãããã£ãããã¯ãã»ã»ã»ã»ã»
ã
ç¹°ãè¿ãã®ïŒéå¥ããããŒã¢ããŒã ããã
ã¢ã¬ãµããããã§èªäœé¢æ°ã®å®è¡ãšãšãã«æ¶ããŠããŸã
ããŒã«ã«å€æ°aã®ååãšããŒã«ã«å€æ°aã«æ ŒçŽãããŠããæ°å€ããŒã¿ã
ãããããããããããðèªäœé¢æ°fã®å®è¡åŸãð
ããããããããã ç¶æãã€ã¥ããã«ã¯
ã©ã®ããã«ããã°ããã®ã§ããããïŒ
ãã®å Žåã¯
èªäœé¢æ°fã®ãããã¯{}å ã§
ãããããããããããŒã«ã«å€æ°aãå€æ°å®£èšãããšãã«
ãããããããã
ããããããããããå€æ°å®£èšint a;ã®åã«staticãã€ã
static int a;ãšè¡šèšããŸã
ããããããŠ
ããã
ãããããã次ã«ããããããããããã
ããããããããããããf();
ã€ãŸã
ããããããããããããèªäœé¢æ°fã®å®è¡ã«ãã
ãããããã
ãããããããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ãå€åãããšããŸã
ããããããããããããèªäœé¢æ°fã®å®è¡çµäºåŸã
ããããããããããã static ãè¡šèšããªãå Žåã¯
ãããããããããã
ããããããããããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ã¯
ãããããããããŒã«ã«å€æ°aããšæ¶ããŠããŸãã®ã§ãã
ããã
ããããããããã static int a;ãšè¡šèšããå Žåã¯
ãããããããã¡ã¢ãªã«ä»ããããaãšããåå
ãããããããããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€
ããããããããããããããããšãã«
ããããããã
ããã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶ããããšã¯ãªããªããŸããã
ãœãŒã©ãŒãã¯ã¯ããint a;ã«staticãšã€ããããšã«ãã
ããããããããããèªäœé¢æ°fãå®è¡ãããŠã
ãããããããã¡ã¢ãªã«ä»ããããaãšããåå
ãããããããããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€
ãæ¶ããªãããã«ããã£ãŠãããªãã ãã
staticã¯è±èªã§éæ¢ãããšããæå³ããããŸãã
static int a;
ãšè¡šèšããããšã«ãã
å€æ°aã¯
èªäœé¢æ°fã®å®è¡åŸãæ¶ããããšã®ãªã
ã¡ã¢ãªã«éæ¢ããïŒãšã©ãŸãïŒå€æ°ãšãªããã ãã
ãã®æ§åãããã°ã©ã ãçµãã§å®éã«ç¢ºãããŠã¿ãŸãð
ðå çšã®ããã°ã©ã
#include <stdio.h>
void f(void){
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
}
int main(void){
f();
f();
f();
return 0;
}
ããã°ã©ã ã®å®è¡çµæ
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
ðã®ããã°ã©ã ãå€æŽããŠ
1åç®ã®
f();ãå®è¡ããåŸ
a=1ããa=2ã«å€åããããŒã«ã«å€æ°aã®æ å ±ã
次ã®2åç®ã®
f();ãå®è¡ããæã«ãç¶æãã€ã¥ããã«ã¯ã»ã»ã»ã
ã¢ã¬ãµãã¯ãã£ïŒïŒŸïŒŸïŒ
2åç®ã®f();ãå®è¡ããæã«ã
ããŒã«ã«å€æ°aã®æ å ±ãç¶æãããŠããããã«ããããã«ã¯ð
èªäœé¢æ°ã®å®çŸ©ã®èªäœé¢æ°fã®ãããã¯{}å ã®aã®å€æ°å®£èšã«ãããŠ
static int a;
ãšè¡šèšããŠãããŸã
ããŒã«ã«å€æ°aã®å€æ°å®£èšã®è¡šèšæ¹æ³ã
int a;ããstatic int a;ã«
å€æŽãããããã°ã©ã ã¯æ¬¡ã®ããã«ãªããŸãã
#include <stdio.h>
void f(void){
static int a=1; /*ðå€æŽãããã®ã¯ããã®éšåã§ãã*/
/*ðint a=1;ããstatic int a=1;ã«å€æŽãããŠããŸã*/
printf("%dããšããã¿ãŸããã\n",a);
a++;
}
int main(void){
f();
f();
f();
return 0;
}
ãœãŒã©ãŒããã®ããã°ã©ã ãå®è¡ãããšã»ã»ã»ã
ã¶ãŒã«ãããããœã¡ã£ã»ã»ãšã
ãœãŒã©ãŒã
ããã°ã©ã ãå®è¡ããŠã¿ãŸããã
ããã°ã©ã ã®å®è¡çµæã¯
1ããšããã¿ãŸããã
2ããšããã¿ãŸããã
3ããšããã¿ãŸããã
ãšãªããŸã
ãã£ã§ãŠãããã§ãŠãããé¢çœãå®è¡çµæãð
ãã£ãããã
ã¢ã¬ãµãããã§
ããããããããð¥æ³šç®ãã¹ããã€ã³ãð¥ã¯
ïŒåç®ã®f();ãå®è¡ãããããšã
ããŒã«ã«å€æ°aã¯æ¶ããããšãªã
ããŒã«ã«å€æ°aã«æ°å€2ãæ ŒçŽããããŸãŸãšãªãããšã«ãããŸãã
ããããããããããããŠãããã«
ãããããããð¥æ³šç®ãã¹ããã€ã³ãð¥ã¯
ãã®
ããŒã«ã«å€æ°aã«æ°å€ïŒãæ ŒçŽããããŸãŸã«ãªããšããããšã¯
ããããããããã®ããŒã«ã«å€æ°aãå€æ°å®£èšããã
ããããããðèªäœé¢æ°få ã§ã®ã¿æå¹ã§ããð
ãããããããããããããã€ãŸãã
ãããããããðèªäœé¢æ°fãå®è¡åŸð
ãããããããããããããããã«
ãããããããðèªäœé¢æ°fãå®è¡ãããšãã®ã¿ð
ãããããããããæå¹ã§ãããšãããŸã
ãã
ããããããèªäœé¢æ°fãšã¯å¥ã®mainé¢æ°ã®ãããã¯{}å ã§ã¯
static int a;
ã«ãã
ãããèªäœé¢æ°fã®å®è¡åŸ
ããèªäœé¢æ°fã®ããŒã«ã«å€æ°aã«æ°å€ïŒãæ ŒçŽããããŸãŸãšãªã£ãŠã
ããèªäœé¢æ°fã®ããŒã«ã«å€æ°aãå©çšããããšã¯ã§ããŸãã
ããããã
mainé¢æ°ã®ãããã¯{}å ã§ã¯
ããèªäœé¢æ°fã®ããŒã«ã«å€æ°aãå©çšã§ããŸããã
ããããã©ã®ãããªããšãæå³ããŠãããã¯
ããããè¿°ã¹ãŠãããšããŠ
ãšããã§æ¬¡ã®ããã«æãããæ¹ãããã®ã§ã¯ãªãã®ã§ããããïŒ
1åç®ã®
f();
ãå®è¡ãããåŸ
次ã«
2åç®ã®
f();
ãå®è¡ããããš
ããªãã¡
èªäœé¢æ°fã®äžèº«
static int a=1; /*å€æŽãããã®ã¯ããã®éšåã§ãã*/
printf("%dããšããã¿ãŸããã\n",a);
a++;
ã1åå®è¡ããããš
a++;
ã®åãã«ãã
aã®å€ã2ã«ãªããŸãã
次ã«
2åç®ã®
f();
ãå®è¡ããããš
ããªãã¡
èªäœé¢æ°fã®äžèº«
static int a=1; /*å€æŽãããã®ã¯ããã®éšåã§ãã*/
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãå®è¡ããããšã
static int a=1; ã«ãã
ãŸã
ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ã¯
a=1ãšãªã
ãã®a=1ã®ããŒã¿ããšãããã
printf("%dããšããã¿ãŸããã\n",a);
ãå®è¡ãããŠ
1ããšããã¿ãŸããã
ãã³ãã³ãããã³ããç»é¢ã«è¡šç€ºãããŠããŸãã®ã§ã¯ïŒïŒã
ãã®ããã«æããããããããŸããã
ãµã€ãã¯ããæãããã¯ãã§ãã
ã
static int a=1; ã¯ã
ïŒåç®ã®èªäœé¢æ°fã®å®è¡
f();
ã®æã®ã¿æå¹ã§
2åç®ã®èªäœé¢æ°ã®å®è¡ä»¥éã¯ç¡å¹
èšè¿°ãããŠããªãã®ãšåãããšãšãªããŸã
2åç®ã®èªäœé¢æ°ã®å®è¡æã«ã¯
static int a=1; ã«é¢ä¿ãªã
ïŒåç®ã®èªäœé¢æ°f();ã®å®è¡ã«ãã£ãŠ
å€åããèªäœé¢æ°fã®ããŒã«ã«å€æ°aã«æ ŒçŽãããå€ã
2åç®ã®èªäœé¢æ°fã®ããŒã«ã«å€æ°aã«ããã€ãããŸãã
ã§ãã®ã§
ïŒåç®ã®f();
ã®å®è¡ã§
a=1ããa=2ã«å€åããããŒã«ã«å€æ°aã®æ ŒçŽããå€ã¯
2åç®ã®f();
ã®å®è¡æã«ãããŠãç¶æãã
2åç®ã®f();
ãå®è¡ããã
ã€ãŸã
2åç®ã®
static int a=1; /*å€æŽãããã®ã¯ããã®éšåã§ãã*/
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãå®è¡ããããšã
static int a=1;ãšèšè¿°ãããŠããã«ãããããã
static int a=1;ã¯ãªããã®ãšã¿ãªãã
èªäœé¢æ°fã®ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ã¯2ã®ãŸãŸå€åãã
printf("%dããšããã¿ãŸããã\n",a);
ãå®è¡ãããŠ
2ããšããã¿ãŸããã
ãã³ãã³ãããã³ããç»é¢ã«è¡šç€ºãããŸã
a++;
ã®å®è¡ã«ãã
ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ã¯
ïŒããïŒã«å€åããŸãã
2åç®ã®f();
ã®å®è¡ã¯çµäºããŸãã
ã€ãŸã
2åç®ã®èªäœé¢æ°fã®å®çŸ©ã®ãããã¯{}å ã®åœä»€æã¯å šãŠå®è¡ãããŸãã
ãã®ãšãåã³
ããŒã«ã«å€æ°aã¯ã¡ã¢ãªããæ¶å»ãããããšãªã
ããŒã«ã«å€æ°aãããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€3ãä¿æãããŸã
ããŒã«ã«å€æ°aãšããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€3ã¯
3åç®ã®f();
ã®å®è¡æã«ãããŠãç¶æãããŠããŸã
3åç®ã®f();
ã€ãŸã
static int a=1; /*å€æŽãããã®ã¯ããã®éšåã§ãã*/
printf("%dããšããã¿ãŸããã\n",a);
a++;
ãå®è¡ããããš
static int a=1;ãšèšè¿°ãããŠããã«ãããããã
ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ã¯3ã®ãŸãŸå€åãã
printf("%dããšããã¿ãŸããã\n",a);
ã®å®è¡ã«ãã
3ããšããã¿ãŸããã
ãã³ãã³ãããã³ããç»é¢ã«è¡šç€ºãããŸã
ãããŠ
a++ã®åãã«ãã
ããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€ã¯3ãã4ã«å€åããŸãã
mainé¢æ°ã®å®è¡ã®çµäºãšãšãã«
ããŒã«ã«å€æ°aã®ååãããŒã«ã«å€æ°aã«æ ŒçŽãããŠããå€
ãšãã«ã¡ã¢ãªããæ¶å»ãããŸã
ãã®
static int a=1;
ã®ããã«
staticå€æ°å®£èšã«ããäœè£œãããå€æ°ã
staticå€æ°ãšãããŸãã
ãã ã
å€æ°å®£èšstatic int a=1;ã«ãã£ãŠ
ä¿åãããå€æ°aã®ããŒã¿æ å ±ã¯
èªäœé¢æ°ã®{ïœãããã¯å ã®ã¿ãšãªã£ãŠããŸãã
ããããããš
èªäœé¢æ°ãå®è¡ãããããš
èªäœé¢æ°ãå®è¡ããããšãã®ã¿
å€æ°aã®æ å ±ã¯åŒãç¶ããããšããããã§ã
å€æ°å®£èšstatic int a=1;ã«ãã£ãŠ
äœè£œãããå€æ°ã¯ã°ããŒãã«å€æ°ã«ãªã£ãããã§ã¯ãããŸãã
ãœãŒã¹ã³ãŒãã§
èªäœé¢æ°fã3åå®è¡ããåœä»€æã
f();
f();
f();
ã®ããã«èšè¿°ãããªã
ïŒåç®ã®
f();ã
å®è¡ãããããšã«ããïŒããïŒã«å€åããèªäœé¢æ°fã®ããŒã«ã«å€æ°aã®æ ŒçŽããŠããå€ã¯
ïŒåç®ã®
f();ãå®è¡ãããéã«ã
èªäœé¢æ°fã®ããŒã«ã«å€æ°aã«åãç¶ãããŠããŸãã
åæ§ã«
2åç®ã®
f();ã
å®è¡ãããããšã«ãã
ïŒããïŒã«å€åããèªäœé¢æ°fã®ããŒã«ã«å€æ°aã®æ ŒçŽããŠããå€ã¯
ïŒåç®ã®
f();
ãå®è¡ãããéã«ãåãç¶ãããããšã«ãªããŸã
ã§ãã
staticå€æ°ãšããã©ã
ããŒã«ã«å€æ°aã¯èªäœé¢æ°fã®å®çŸ©ã®ãããã¯{}å ã§å€æ°å®£èšãããèªäœé¢æ°fã®ðããŒã«ã«å€æ°ãªã®ã§ð
ã€ãŸã
mainé¢æ°ã®ãããã¯{}å ã§å€æ°å®£èšãããmainé¢æ°ã®ããŒã«ã«å€æ°ã§ãªããã
èªäœé¢æ°fã®ããŒã«ã«å€æ°aã
mainé¢æ°ã®ãããã¯{}å ã§äœ¿çšããããšã¯ã§ããŸããã
èªäœé¢æ°fã®ããŒã«ã«å€æ°aã®æ ŒçŽããŠããå€ãstaticå€æ°å®£èšã«ãã
èªäœé¢æ°fãå®è¡ãããã®ã¡ã
èªäœé¢æ°fã®ããŒã«ã«å€æ°aã§ä¿æããç¶ããããšãã§ãããšããŠã
ãããã
èªäœé¢æ°fã®ããŒã«ã«å€æ°aã¯èªäœé¢æ°fã®å®çŸ©ã®ãããã¯{}å ã§ã®ã¿ãã䜿çšã§ããŸãã
ã¡ã¢ãªã«å€æ°åãšå€æ°ã«æ ŒçŽãããããŒã¿ãä¿åãããstaticå€æ°ãšããã©ã
mainé¢æ°ã®ãããã¯{}å ã§äœ¿çšããããšã¯ã§ããŸãã
ãã®ããšã瀺ãããã°ã©ã ã¯ãã¡ãã§ã
ð
#include <stdio.h>
void f(void) {
static int a = 1;
printf("%dããšããã¿ãŸããã\n", a);
a++;
}
int main(void) {
f();
f();
f();
a=1;//ðããã«æ³šç®ããŠãã ãããmainé¢æ°å ã§å€æ°å®£èšãããŠããªãå€æ°aãçšããããšããŠããŸã
return 0;
}
ããã°ã©ã ã®å®è¡çµæïŒEAZYãIDECã®å ŽåïŒ
ãã¡ã€ã«ãC:/Users/solarplexuss/AppData/Local/EasyIDEC/project/hhhhhhhh/main.cãã®
ã13è¡ç®ãã§èšè¿°ãšã©ãŒãçºèŠããŸããã
ãaããå®çŸ©ãããŠããŸããã
ååãééã£ãŠããªããã©ãã確èªããŠãã ããã
ããã°ã©ã ã®å®è¡çµæïŒVisual Studioã®å Žå)
ãšã©ãŒ (ã¢ã¯ãã£ã) E0020 èå¥å "a" ãå®çŸ©ãããŠããŸãã
ãšã©ãŒ C2065 'a': å®çŸ©ãããŠããªãèå¥åã§ãã
ãœãŒã©ãŒãstaticå€æ°aãšãã£ãŠã
mainé¢æ°ã®ãããã¯{}å ã§å€æ°å®£èšãããŠããªãå€æ°ã ãã
mainé¢æ°ã®ãããã¯{}å ã§aãçšããããšã¯ã§ããªãã£ãŠããã ãã
ã¢ã¬ãµãã¯ã
ãŸã
static int a=1;
ã®éšåã次ã®ããã«
static int a;
a = 1;
ãšåé¢ããŠèšè¿°ããŠããŸããš
staticå€æ°aã¯çæãããŠããã®ã§ãã
ããã°ã©ã ã®ä»çµã¿äž
ããã°ã©ã ã®å®è¡çµæã¯
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
ã衚瀺ãããŸãã
ãã®ããšã瀺ãããã°ã©ã ã¯ãã¡ãã§ã
ð
#include <stdio.h>
void f(void) {
static int a;
a = 1;
printf("%dããšããã¿ãŸããã\n", a);
a++;
}
int main(void) {
f();
f();
f();
return 0;
}
ããã°ã©ã ã®å®è¡çµæ
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
ã¢ã¬ãµãããã¯
1åç®ã®f();
ãå®è¡ããããš
ã€ãŸã
èªäœé¢æ°fã®ãããã¯{}å ã®åœä»€æ
static int a;
a = 1;
printf("%dããšããã¿ãŸããã\n", a);
a++;
ãå®è¡ããããš
aã«æ ŒçŽãããŠããå€1ã¯
a++;ã®ã¯ãããã«ãã
aã«æ ŒçŽãããŠããå€ã¯2ãšãªããŸã
static int a;
ã®åãã«ãã
staticå€æ°aãš
aã«æ ŒçŽãããŠããå€2ã¯
1åç®ã®
f();
ã®å®è¡ã®åŸã
ã¡ã¢ãªã«ä¿åããããŸãŸãšãªã£ãŠããŸãã
ãã®ç¶æ ã§ïŒåç®ã®
f();
ã®å®è¡ã«ç§»ããŸã
ïŒåç®ã®f();
ãå®è¡ããããšã
èªäœé¢æ°fã®ãããã¯{}å ã®åœä»€æ
static int a;
a = 1;
printf("%dããšããã¿ãŸããã\n", a);
a++;
ãå®è¡ãããããšã«ãªããŸã
static int a;
ã®éšåã¯
ç¡å¹ãšãªã£ãŠããã®ã§ãã
ãã®æ¬¡ã®åœä»€æ
a=1;
ã®åãã«ãã
aã«æ ŒçŽãããå€ã¯2ãã1ã«å€åããŸã
ãã®ç¶æ ã§
printf("%dããšããã¿ãŸããã\n", a);
ãå®è¡ãããã®ã§
ïŒåç®ã®f();
ãå®è¡ããããš
ã³ãã³ãããã³ããç»é¢ã«ã¯
1åç®ã®f();
ã®å®è¡ã®æãšåãã
1ããšããã¿ãŸããã
ã衚瀺ãããŸãã
ãããŠ
a++;
ã®åãã«ãã
aã«æ ŒçŽãããŠããå€ã¯
åã³
1ãã2ã«å€åããŸãã
static int a;
ã®åãã«ãã
staticå€æ°a
ãš
aã«æ ŒçŽãããŠããå€2ã¯
ïŒåç®ã®
f();
ã®å®è¡ã®åŸã
ã¡ã¢ãªã«ä¿åããããŸãŸãšãªã£ãŠããŸãã
ãã®ç¶æ ã§3åç®ã®
f();
ã®å®è¡ã«ç§»ããŸã
3åç®ã®f();
ãå®è¡ããããšã
èªäœé¢æ°fã®ãããã¯{}å ã®åœä»€æ
static int a;
a = 1;
printf("%dããšããã¿ãŸããã\n", a);
a++;
ãå®è¡ãããããšã«ãªããŸã
static int a;
ã®éšåã¯
ç¡å¹ãšãªã£ãŠããã®ã§ãã
a=1;
ã®åãã«ãã
aã«æ ŒçŽãããå€ã¯2ããïŒã«å€åããŸã
ãã®ç¶æ ã§
printf("%dããšããã¿ãŸããã\n", a);
ãå®è¡ãããã®ã§
ïŒåç®ã®f();
ãå®è¡ããããš
ã³ãã³ãããã³ããç»é¢ã«ã¯
ïŒåç®ã®f();
ã®å®è¡ã®æãšåãã
1ããšããã¿ãŸããã
ãã³ãã³ãããã³ããç»é¢ã«è¡šç€ºãããŸãã
ãããŠ
printf("%dããšããã¿ãŸããã\n", a);
ã®æ¬¡ã«å®è¡ãããåœä»€æ
a++;
ã®åãã«ãã
aã«æ ŒçŽãããŠããå€ã¯
åã³
1ãã2ã«å€åããŸãã
ãã®ãããªããã§
ããã°ã©ã ã®å®è¡çµæ
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
1ããšããã¿ãŸããã
ã
ã³ãã³ãããã³ããç»é¢ã«è¡šç€ºãããããšã«ãªããŸãã
static int a=1;
ã
static int a;
a = 1;
ã®ããã«èšè¿°ããŠããŸããš
staticå€æ°aãäœè£œããæå³ããªããªã£ãŠããŸãã®ã§ã
static int a;
a = 1;
ã§ãªã
static int a=1;
ãšè¡šèšãããŠããªããã°ãªããªãã®ã§ãã(^_^)/ã
ð
ä»ã®ã©ããã®ãµã€ãã®ããã°ã©ã ã§ãåèæžã§ã
static int a=1;
ã®ããã«
aã®staticå€æ°å®£èšãšåæåãåæã«å®è¡ãããŠããã®ãã¿ãããŸãã
ð
ãœãŒã©ãŒãstatic ã¯äœ¿ãæ¹ãç¹çŽ°ã ãã
ãããšã¯éãã話ã«ãªããã©
#include <stdio.h>
int main(void){
int a=1;
printf("%d",a);
return 0;
}
ããã°ã©ã ã®å®è¡çµæ
1
ãã®ããã«
mainé¢æ°ãå®è¡ãã
ã³ãã³ãããã³ãç»é¢ã«
ããã°ã©ã ã®å®è¡çµæã衚瀺ããããšãã
mainé¢æ°ã®ãããã¯{}å ã§å€æ°å®£èšããã
int a=1;
ã«ãã£ãŠäœæãããå€æ°aã®ããŒã¿æ å ±
ã€ãŸãå€æ°aã
å€æ°aã«æ ŒçŽãããŠããæ°å€1ã
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã®ç¯çŽã®ãã
ã¡ã¢ãªããæ¶ããŠããŸã£ãŠããã ã
ããã«
#include <stdio.h>
int a=1;//ðaã®ã°ããŒãã«å€æ°å®£èšã§ã
int main(void){
printf("%d",a);
return 0;
}
ããã°ã©ã ã®å®è¡çµæ
1
ãã®ããã«
aã®ã°ããŒãã«å€æ°å®£èšint a=1;
ã
å®è¡ãããŠããå Žåã§ã
mainé¢æ°ãå®è¡ãã
ããã°ã©ã ã®å®è¡ãçµäºãããš
ã°ããŒãã«å€æ°å®£èš
int a=1;
ã«ãã£ãŠäœæãããå€æ°aã®ããŒã¿æ å ±
ã€ãŸãå€æ°aã
å€æ°aã«æ ŒçŽãããŠããæ°å€1ã
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã®ç¯çŽã®ãã
ã¡ã¢ãªããæ¶ããŠããŸã£ãŠããã ã
ããããããšã«ãã
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã
ããŒã¿ã§ãã£ã±ããµããã£ãŠããŠ
æ°ãã«
ã»ãã®ããã°ã©ã ã䜿çšã§ããŸãã
ãšããããšãé²ãã§ãããã ãã
ðððððððððððððððððððð
ãœãŒã©ãŒãããããïœïœãð
ããããããŸïœãã
ããã¯ã¹ãããã£ïŒãããããã®ãã¯ãã£ãŠãã®ããïŒã
ãœãŒã©ãŒã
ããèªäœé¢æ°ã®ãããã¯{}å ã§
ãããã å€æ°å®£èšãããããŒã«ã«å€æ°ã¯
ãããðèªäœé¢æ°ããïŒåãå®è¡ãããããšã«ð
ðã€ãŸãèªäœé¢æ°ã®ãããã¯{}å ã®åœä»€æãå®è¡ãããããšã«ð
ãã
ãããããããã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã®ç¯çŽã®ãã
ããããã ã¡ã¢ãªããæ¶ããŠããŸãã®ã«ãã
ããããããã¡ããããŒã«ã«å€æ°ã«æ ŒçŽãããããŒã¿ãã«ãããã
ãã
ãããããããããããããã ãã
ããããŒã«ã«å€æ°ã«æ ŒçŽãããæ°å€ããŒã¿ãå€åããŠãããšããŠã
ãããããããããã®æ°å€ããŒã¿æ å ±ã¯ä¿æããã
ããããããã ããðããããã£ã±ããšð
ããããã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªå ããæ¶ããŠããŸãã®ã«ã
ðãã®æç« ã®
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã®ç¯çŽã®ãã
ãšã¯ã©ãããããšããªïŒã
ã¢ã¬ãµ
ãæ°ããªããã°ã©ã ããã¡ããŠã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã
ã©ã®ããã«ç¯çŽãããããäžç·ã«èå¯ããŠãããŸãã
ãœãŒã©ãŒãOK!ïœïœïœã£ðãã¢ã¬ãµã
ã¢ã¬ãµã以äžã®ããã°ã©ã ã§ã¯
èªäœé¢æ°fã®å®çŸ©å ã§
static int a;
ã§ã¯ãªã
int a;
ãèšå®ãããŠããŸãã
ð
#include <stdio.h>
void f(void){
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
}
int main(void){
f();
f();
f();
return 0;
}
ã¢ã¬ãµã
ãã®ããã°ã©ã ã§ã¯
ãŸããmainé¢æ°å ã§
å é ã®åœä»€æ
f();
ãå®è¡ãããŸã
ãã®ãšã
ã³ã³ãã¥ãŒã¿ã¯èªäœé¢æ°fã®å®çŸ©
void f(void){
int a;
a=1;
printf("%dããšããã¿ãŸããã\n",a);
a++;
}
ãåç §ããŠããŸãã
1çªç®ã®f();ãå®è¡ããããš
aã®å€ã¯a++;ã«ããa=2ã«ãªã£ãŠããŸãã
ã§ãã
f();ã®çµäºãšåæã«
å€æ°a
ãš
å€æ°aã«æ ŒçŽãããŠããããŒã¿2ã¯ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããæ¶ããŠããŸããŸã
ããããã®ãŸãŸ
å€æ°a
ãš
å€æ°aã«æ ŒçŽãããŠããæ°å€ããŒã¿2
ã®æ å ±ãã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã«èšæ¶ãããªã
ïŒåç®ã®f();ã«ãã®ããŒã¿ã¯åãç¶ãããã®ã§
ããã¯ããã§ã¡ãªããã¯ããã®ã§ãã
ãã®ä»çµã¿ãå®åžžåãããå Žå
å€æ°a
ãš
å€æ°aã«æ ŒçŽãããŠããããŒã¿2
ã¯
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã«èšæ¶ããã€ã¥ããããšã«ãªããŸã
ããã¡ã¢ãªãå æãã€ã¥ããããšã«ãªããŸã
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªãšã¯ã
èšç®ã®ããçæçã«ããŒã¿ãä¿æããéšåãªã®ã§ãã
ããŒã¿ãä¿æããã«ã¯äžéããããŸãã
ã¡ã¢ãªãããŒã¿ã§ããã£ã±ãã«ãªããšãèšç®ãã§ããªããªããŸãã
ããã§ããã®ãããªäºæ ãããããããã¡ã¢ãªã®å®¹éã確ä¿ããããã«
ã¡ã¢ãªã«æ ŒçŽãããŠããa=2ã®ããŒã¿ã
ããŒã«ã«å€æ°aããš
f();ã®å®è¡ãçµäºããããšã«
ã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªããåé€ããã®ã§ã
ãããããã
ã¡ã¢ãªå®¹éã®å°ãªãã£ãæã®ã³ã³ãã¥ãŒã¿ã«ãšã£ãŠã
a=2ã®ããŒã¿ããã¡ã¢ãªã«ä¿æãã€ã¥ããã®ã¯
倧å€ã ã£ãã®ãããããªãã®ã§ãã
ããã§
ããèªäœé¢æ°ã®ãããã¯{}å ã§
ãããã å€æ°å®£èšãããããŒã«ã«å€æ°ã¯
ãããðèªäœé¢æ°ããïŒåãå®è¡ãããããšã«ð
ðã€ãŸãèªäœé¢æ°ã®ãããã¯{}å ã®åœä»€æãå®è¡ãããããšã«ð
ãã
ãããããããã³ã³ãã¥ãŒã¿ã®ã¡ã¢ãªã®ç¯çŽã®ãã
ããããã ã¡ã¢ãªããæ¶ã
ãããããããŒã«ã«å€æ°ã«æ ŒçŽãããããŒã¿ãããã
ãã
ãããããããã ã¡ã¢ãªããæ¶ã
ãã®ãããªä»çµã¿ã
æ¡çšãããã®ãããããŸãããã
æ°èŠç»é²ã§å å®ã®èªæžã
- ãã€ããŒãž
- èªæžã®ç¶æ³ããäœåãèªåã§åé¡ããŠç°¡åã«ç®¡çã§ãã
- å°èª¬ã®æªèªè©±æ°ãã²ãšç®ã§ãããååã®ç¶ãããèªãã
- ãã©ããŒãããŠãŒã¶ãŒã®æŽ»åãè¿œãã
- éç¥
- å°èª¬ã®æŽæ°ãäœè ã®æ°äœã®æ å ±ãåãåãã
- é²èŠ§å±¥æŽ
- 以åèªãã å°èª¬ãäžèŠ§ã§èŠã€ãããã
ã¢ã«ãŠã³ãããæã¡ã®æ¹ã¯ãã°ã€ã³
ãã¥ãŒã¯ãŒèšå®
æåãµã€ãº
èæ¯è²
ãã©ã³ã
çµã¿æ¹å
æ©èœããªã³ã«ãããšãç»é¢ã®äžéšãã¿ãããã床ã«èªåçã«ã¹ã¯ããŒã«ããŠèªã¿é²ããããŸãã
å¿æŽãããšå¿æŽã³ã¡ã³ããæžããŸã