我在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!
}
答案 0 :(得分:2)
您的链接有此代码
int main() {}
int var = 0;
double val[MAXVAL];
char find( fileptr ) {}
int count( double f ) {}
然后继续说主要的var和val不可用。那是因为他们是 在主要之后宣布。
它与外部变量无关。只有声明的顺序。
更新。照片说的完全一样。它们在文件中出现的顺序决定了它们的可见性。
变量在main中不可见的原因与它们在文件中出现的顺序有关。他们是主要的。
照片说,“外部变量或函数的范围从声明它的位置到编译器文件的末尾。”
它没有说明主要的外部变量不可见。