-1

在此处输入图像描述

我在 C 编程 (Dennits M. Ritchie) 和 Microsoft ( http://msdn.microsoft.com/en-us/library/z4ew7daa.aspx)中读到它,外部变量在 main 中不可见(无法访问)。

这很令人困惑,因为我多次使用以下技术。

#include<stdio.h>
int sp = 99; //extern variable
int main(){
 printf("sp is :%d",sp);     //not visible?
 sp = 98;
 printf("sp is :%d",sp); //ofcourse it is visible!
}
4

1 回答 1

2

您的链接有此代码

int main() {}

int var = 0;
double val[MAXVAL];
char find( fileptr ) {}
int count( double f ) {}

然后继续说 var 和 val 在 main 中不可用。那是因为它们是在 main 之后声明的。

它与外部变量无关。仅声明顺序。


更新。这张照片说的是完全相同的事情。它们在文件中出现的顺序决定了它们的可见性。

变量在 main 中不可见的原因与它们在文件中出现的顺序有关。他们在主要之后。

照片上写着:“外部变量或函数的范围从声明它的点持续到编译器文件的末尾。”。

它没有说明外部变量在 main 中不可见。

于 2013-10-19T23:12:44.873 回答