C语言函数与结构的深入解析
1. 变量的初始化与类型
在C语言编程中,变量的初始化和类型是基础且关键的知识点。全局变量默认初始值为0,而局部变量没有默认初始值,必须由程序显式初始化。
1.1 自动变量
当在函数内部声明局部变量时,如 squareRoot 函数中的 guess 和 epsilon 变量:
float squareRoot (float x)
{
const float epsilon = .00001;
float guess = 1.0;
...
}
这里声明的是自动局部变量。关键字 auto 可放在此类变量声明前,但它是可选的,因为这是默认情况。自动变量在每次函数调用时实际上都会被创建,函数执行完毕后就会“消失”。自动局部变量可以被赋予初始值,任何有效的C表达式都可作为简单自动变量的初始值,每次函数调用时都会计算表达式的值并赋给自动局部变量。
1.2 静态变量
若在变量声明前加上 static 关键字,情况就完全不同了。在C语言中, static 并非指电荷,而是表示某种静止的概念。静态变量不会随函数的调用和返回而“来去”,即函数离开时静态变量的值,下次函数调用时依然保持。
静态局部变量仅在整个程序执行开始时初始化一次,而不是每次函数调用时都初始化。并且,为静态变量指定的
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



