C语言中函数调用中静态变量的应用

本文通过一个简单的C语言程序示例,展示了如何使用静态局部变量来记录函数被调用的次数。通过对程序的编译和运行,详细解释了静态变量的作用域和生命周期特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始

上例子:

[作者:技术者高健@博客园  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 ] 

结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值