一个C语言选择题
下列叙述不正确的有:(多选)A全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区B局部变量只在本函数范围内有效,形式参数属于局部变量C局部变量如果没有被说明为静...
下列叙述 不正确 的有:(多选)
A 全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区
B局部变量只在本函数范围内有效,形式参数属于局部变量
C局部变量如果没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中
好吧 ,我自问自答了
标准答案:ABC全错
A:全局变量(不管有没有static修饰)都是在静态区的,static修饰的全局变量限制他只能在本文件中被引用,而不能被其他文件引用,A的错误在于他的前半句话,全局变量的作用域从定义的位置开始到程序结束
B:也是前半句错误,在函数的复合语句(即用大括号括起来的)中定义的局部变量只能在该复合语句内使用
C:局部变量若没有被说明为静态存储类别,如果是根本就未写存储类型名则默认存储类别是 auto ,即自动变量,存储在动态存储区。若定义存储类别是 register 类型,则存储在 CPU的寄存器上而不是内存中(动态存储区和静态存储区都是在内存中的)。 展开
A 全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区
B局部变量只在本函数范围内有效,形式参数属于局部变量
C局部变量如果没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中
好吧 ,我自问自答了
标准答案:ABC全错
A:全局变量(不管有没有static修饰)都是在静态区的,static修饰的全局变量限制他只能在本文件中被引用,而不能被其他文件引用,A的错误在于他的前半句话,全局变量的作用域从定义的位置开始到程序结束
B:也是前半句错误,在函数的复合语句(即用大括号括起来的)中定义的局部变量只能在该复合语句内使用
C:局部变量若没有被说明为静态存储类别,如果是根本就未写存储类型名则默认存储类别是 auto ,即自动变量,存储在动态存储区。若定义存储类别是 register 类型,则存储在 CPU的寄存器上而不是内存中(动态存储区和静态存储区都是在内存中的)。 展开
7个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询