C语言 形参可以使用的存储类说明符与局部变量的有什么不同?

原题是个选择题,选择以下叙述中正确的(A)
A)局部变量说明为static存储类,其生存期将得到延长
B)全局变量说明为static存储类,其作用域将被扩大
C)任何存储类的变量在未赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局部变量完全相同

A:在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元,它的生存期将一直延长到程序运行结束,所以A肯定是对的。
B:全局变量只有一种静态存储类别,所以无论有没有说明为static存储类,他的作用域都是全局范围的,所以B错。
C:未赋初值的auto型变量的初值是不确定的,但未赋初值的static型变量的初值是0,所以C错。
D:?

我这方面概念比较混乱,能具体解释一下D吗?

D 说法不完整 因为局部变量可以使用static 而形参不可以
他们都可以使用auto 、register 类别
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-04
B. 全局变量说明为static后,这个变量只在本文件内有效,其他文件不能引用(与extern相反),所以不对
C. 全局变量值是确定的(全0),局部变量不确定,所以不对
D. 局部变量可以用static,形参不能使用static

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网