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