局部变量的例子

本文介绍了一个使用C语言实现的打印时间函数,通过传入小时和分钟参数,输出格式化的时间字符串。

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

#include<stdio.h>
void print_time(int hour,int minute)
{
	printf("%d:%d\n",hour,minute);
}
int main(void)
{
	int hour=23,minute=59;
	print_time(hour,minute);
	return 0;
}

静态局部变量是在函数内部定义的一种特殊类型的变量,它的特点是**生命周期贯穿整个程序运行期间**,但是作用域仍然局限于定义它的函数内部。换句话说,静态局部变量在第一次初始化之后,其值会在后续的函数调用之间保持不变。 --- ### **特点总结:** 1. **存储位置**:静态局部变量会被分配到全局数据区而不是栈上。 2. **生存期**:从程序开始直到结束一直存在。 3. **初始值**:若未显式赋初值,默认会自动初始化为0(对于数值类型),而普通的局部变量则不会默认初始化。 4. **作用范围**:仅限于所在函数内有效。 --- ### **示例代码** 下面的例子展示了如何使用静态局部变量,并解释了它与其他变量的不同之处: ```cpp #include <iostream> using namespace std; void func() { int autoVar = 0; // 自动局部变量(每次进入func都会重新创建并置零) static int staticVar = 0; // 静态局部变量(仅在首次进入时初始化一次) cout << "Auto Variable: " << ++autoVar << endl; cout << "Static Variable: " << ++staticVar << endl; } int main(){ for(int i=0;i<5;i++) { func(); // 调用func五次观察结果差异 } return 0; } ``` #### 输出结果将是这样的: ``` Auto Variable: 1 Static Variable: 1 Auto Variable: 1 Static Variable: 2 Auto Variable: 1 Static Variable: 3 Auto Variable: 1 Static Variable: 4 Auto Variable: 1 Static Variable: 5 ``` 可以看到,在多次调用 `func()` 函数的过程中,“Auto Variable”每次都从1开始计数;然而“Static Variable”的值却保留了下来并且随着每一次额外调用持续增加。 --- 这种特性使得静态局部变量非常适合用于累积计算或者保存某些状态信息等场景下。但也要注意滥用可能导致难以预料的行为发生,因此需谨慎设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值