0
点赞
收藏
分享

微信扫一扫

学习C++2 函数篇


char *init (int ht=24,int wd,char ba);

这个声明不对,在形参表中,具有默认实参的形参应该出现在形参表的末尾

静态局部变量


静态 ​​局部变量​​​ 属于 ​​​静态存储方式​​ ,它具有以下特点:


(1)静态​​局部变量​​​在函数内定义,但不像​​自动变量​​​那样,当调用时就存在,退出函数时就消失。静态​​局部变量​​始终存在着,也就是说它的生存期为整个源程序。


(2)静态​​局部变量​​​的生存期虽然为整个源程序,但是其​​作用域​​​仍与​​自动变量​​相同,即只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。


(3)允许对构造类静态局部量赋初值。若未赋以初值,则由系统自动赋值。数值型变量自动赋初值0,字符型变量赋空字符。


(4)对基本类型的静态​​局部变量​​​若在说明时未赋以初值,则系统自动赋予0值。而对​​自动变量​​​不赋初值,则其值是不定的。 根据静态​​局部变量​​​的特点, 可以看出它是一种生存期为整个​​源文件​​​的量。虽然离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用, 而且保存了前次被调用后留下的值。 因此,当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态​​局部变量​​​。虽然用​​全局变量​​​也可以达到上述目的,但​​全局变量​​​有时会造成意外的副作用,因此仍以采用​​局部​​静态变量为宜。


举例说明



举报

相关推荐

0 条评论