C语言所有变量都默认为auto,全局变量不能为auto,那全局变量默认为什么?
7个回答
展开全部
默认为extern
除非加上static 修饰 全局变量的作用域均为全工程,即所有c文件
而一旦加上static 改变量仅在当前文件有效
PS:存储说明修饰符包括auto register extern 和static
除非加上static 修饰 全局变量的作用域均为全工程,即所有c文件
而一旦加上static 改变量仅在当前文件有效
PS:存储说明修饰符包括auto register extern 和static
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
全局变量作用域是整个源程序\整个工程。函数如果想直接使用全局变量,那么全局变量应当在函数之前定义。全局变量默认说明符为extern。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
auto 在c 语言里面可能是这三种存储:register/extern/static。
变量涉及到几个东西:存储位置,作用域。 局部变量全局变量是作用域不同。而变量存储在内存,寄存器还是引用外部变量 可能会导致 读写速度上差别。
局部变量极有可能会auto成 register,以便快速读写。全局变量也都可以是这几种。
不过说实话,auto在c里面实在没什么用。这才导致了c++把 auto 用来做更有意义的事情了。
变量涉及到几个东西:存储位置,作用域。 局部变量全局变量是作用域不同。而变量存储在内存,寄存器还是引用外部变量 可能会导致 读写速度上差别。
局部变量极有可能会auto成 register,以便快速读写。全局变量也都可以是这几种。
不过说实话,auto在c里面实在没什么用。这才导致了c++把 auto 用来做更有意义的事情了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
全局变量也默认是auto啊,只是全局变量的生命期是程序一启动就开始,一直要到程序结束啊。
但是在新的C C++标准中,好像对auto有了新的含义。还没有仔细研究,只是曾经了一眼。
但是在新的C C++标准中,好像对auto有了新的含义。还没有仔细研究,只是曾经了一眼。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询