【摘要】:如在定义静态变量时进行初始化,则静态变量只在第一次使用时被赋初值;如未进行初始化,则数值型静态变量的缺省值为0,字符型静态变量的缺省值为空字符。寄存器变量的初始化是在函数调用时进行的,如未进行初始化,其值将不确定,这一点与自动变量相同。
变量的初始化指在定义变量类型的同时,给变量赋初值。
1.内部变量的初始化
这里的内部变量指自动变量,自动变量的作用域仅局限于所在的函数,函数调用结束后,自动变量的值被释放。自动变量的初始化是在函数调用时进行的,每调用一次函数都将重新进行一次初始化。
如果定义自动变量时未进行初始化,或自动变量未被赋值,则其值将不确定。这将引起一个错误的结果,在程序设计中应注意避免。
2.外部变量的初始化
外部变量可以被本源程序文件中其他函数使用,其作用域从其定义的位置开始,一直到本源程序结束。外部变量在程序执行过程中,占有固定的存储单元,其生存期为整个程序。在定义外部变量时,如未进行初始化,则数值型外部变量的值缺省为0,字符型外部变量的值缺省为空字符。
3.静态变量的初始化
静态变量,不管是静态全局变量,还是静态局部变量,都是在编译时,系统分配固定的存储单元,并在程序运行过程中始终存在,直到源程序运行结束。如在定义静态变量时进行初始化,则静态变量只在第一次使用时被赋初值;如未进行初始化,则数值型静态变量的缺省值为0,字符型静态变量的缺省值为空字符。
4.寄存器变量的初始化
寄存器变量作用域为所定义的函数,函数调用结束后,寄存器变量的值被释放。寄存器变量的初始化是在函数调用时进行的,如未进行初始化,其值将不确定,这一点与自动变量相同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。