Memory Allocation

返回

static用法

#include <stdio.h> void mod1_disp(void); void mod2_disp(void); static int err_ct = 0; int main(void) { err_ct = 333; mod1_disp(); mod2_disp(); mod1_disp(); return 0; } void mod1_disp(void) { printf("mod1:err_ct=%d\n", err_ct); } // list6_3.c #include <stdio.h> void mod2_disp(void); void mod2_disp2(void); static int err_ct = 0; void mod2_disp(void) { err_ct = 888; mod2_disp2(); } void mod2_disp2(void) { printf("mod2:err_ct=%d\n", err_ct); } /* 運行結(jié)果 mod1:err_ct=333 mod2:err_ct=888 mod1:err_ct=333 */

用static保存數(shù)值

#include <stdio.h> void sum_auto(int d); void sum_static(int d); int main(void) { sum_auto(100); sum_auto(100); sum_auto(100); sum_static(100); sum_static(100); sum_static(100); return 0; } void sum_auto(int d) { int dt = 0; dt = dt + d; printf("sum_auto=%d\n", dt); } void sum_static(int d) { static int dt = 0; dt = dt + d; printf("sum_static=%d\n", dt); } /* 運行結(jié)果 sum_auto=100 sum_auto=100 sum_auto=100 sum_static=100 sum_static=200 sum_static=300 */ #include <stdio.h> int main(void) { char *p; strcpy(p,"abc"); printf("%s\n",p); } C:test>cl test080331_1.c Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. test080331_1.c test080331_1.c(4) : warning C4700: 値が割り當(dāng)てられていない????な変數(shù) 'p' に対し て參照が行われました。 Microsoft (R) Incremental Linker Version 6.00.8168 Copyright (C) Microsoft Corp 1992-1998. All rights reserved. C:test>test080331_1 abc #include <stdio.h> int main(void) { char *s1 = "Hello,"; char *s2 = "world!"; char *s3 = strcat(s1,s2); printf("%s\n",s1); printf("%s\n",s2); printf("%s\n",s3); } C:test>cl test080331_1.c Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. test080331_1.c test080331_1.c(5) : warning C4047: 'initializing' : 間接參照の????が 'char *' と 'int ' で異なっています。 Microsoft (R) Incremental Linker Version 6.00.8168 Copyright (C) Microsoft Corp 1992-1998. All rights reserved. /out:test080331_1.exe test080331_1.obj C:test>test080331_1 Hello,world! rld! Hello,world!
返回
贵德县| 象山县| 南澳县| 新兴县| 福安市| 普安县| 陇南市| 星座| 黄山市| 武川县| 莱阳市| 安陆市| 连江县| 龙泉市| 化德县| 博白县| 象山县| 贡山| 年辖:市辖区| 岑溪市| 新巴尔虎右旗| 阿巴嘎旗| 平定县| 石门县| 尖扎县| 丰县| 广元市| 青冈县| 云阳县| 五常市| 新密市| 会泽县| 林芝县| 阿尔山市| 武陟县| 漳浦县| 东平县| 庐江县| 凤阳县| 历史| 哈密市|