首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将自动变量用于全局作用域

将自动变量用于全局作用域
EN

Stack Overflow用户
提问于 2014-01-06 21:51:35
回答 2查看 2.4K关注 0票数 2
auto int a=5;
#include<stdio.h>
int main ()
{
    printf("%d",a);
    return 0;
}

我读到自动变量的作用域在指定的块内。在上面的程序中,因为自动变量'a‘是在main函数外部声明的,所以它应该被分配到全局作用域,并且可以在main函数中访问。但是,似乎有一个错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-06 21:56:00

顶级变量不能为auto。它们应该声明为staticextern (在别处定义)或全局(没有关键字)。

这不会编译。

$ echo "auto int c;" > test.c
$ gcc -Wall -c test.c
test.c:1:10: error: file-scope declaration of ‘a’ specifies ‘auto’
票数 5
EN

Stack Overflow用户

发布于 2014-01-06 21:56:14

在C中,全局作用域auto变量是不允许的。根据定义,它们是函数局部变量。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20951440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档