C语言中函数调用中静态变量的应用
开始
上例子:
[作者:技术者高健@博客园 mail: luckyjackgao@gmail.com ]
[root@localhost soft]# cat caller.c #include "funclib.h" int main() { int i=0; for (i=0; i<100; i++) { int temp=func001(); } return 0; } [root@localhost soft]# [root@localhost soft]# cat funclib.h extern int func001(); /*in funclib.c*/ extern int func002(); /*in funclib.c*/ [root@localhost soft]# cat funclib.c #include <stdlib.h> #include <stdio.h> int func001() { static int mysum=0; mysum++; fprintf(stderr,"mysum is:%d \n",mysum); return 0; } int func002() { return 1; } [root@localhost soft]#
结果:
[root@localhost soft]# gcc -o caller.o caller.c funclib.c [root@localhost soft]# [root@localhost soft]# ./caller.o mysum is:1 mysum is:2 mysum is:3 mysum is:4 mysum is:5 mysum is:6 mysum is:7 mysum is:8 mysum is:9 mysum is:10 mysum is:11 mysum is:12 mysum is:13 mysum is:14 mysum is:15 mysum is:16 mysum is:17 mysum is:18 mysum is:19 mysum is:20 mysum is:21 mysum is:22 mysum is:23 mysum is:24 mysum is:25 mysum is:26 mysum is:27 mysum is:28 mysum is:29 mysum is:30 mysum is:31 mysum is:32 mysum is:33 mysum is:34 mysum is:35 mysum is:36 mysum is:37 mysum is:38 mysum is:39 mysum is:40 mysum is:41 mysum is:42 mysum is:43 mysum is:44 mysum is:45 mysum is:46 mysum is:47 mysum is:48 mysum is:49 mysum is:50 mysum is:51 mysum is:52 mysum is:53 mysum is:54 mysum is:55 mysum is:56 mysum is:57 mysum is:58 mysum is:59 mysum is:60 mysum is:61 mysum is:62 mysum is:63 mysum is:64 mysum is:65 mysum is:66 mysum is:67 mysum is:68 mysum is:69 mysum is:70 mysum is:71 mysum is:72 mysum is:73 mysum is:74 mysum is:75 mysum is:76 mysum is:77 mysum is:78 mysum is:79 mysum is:80 mysum is:81 mysum is:82 mysum is:83 mysum is:84 mysum is:85 mysum is:86 mysum is:87 mysum is:88 mysum is:89 mysum is:90 mysum is:91 mysum is:92 mysum is:93 mysum is:94 mysum is:95 mysum is:96 mysum is:97 mysum is:98 mysum is:99 mysum is:100 [root@localhost soft]#
[作者:技术者高健@博客园 mail: luckyjackgao@gmail.com ]
结束