//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//感恩原作者辛勤编写 #include<iostream> using std::cout; using std::cin; using std::endl; //在实践大程序编写中,也会这样吗。。。总感觉这个为了学知识而做出来的例子 //声明全局变量并初始化 extern int a[]={1,2,3}; extern float p=3.14; //在show()函数中使用外部变量 void show() { int i; cout<<"In show():"<<endl; cout<<"p="<<p<<endl; cout<<"a[]: "; for (i=0;i<=2;i++) cout<<a[i]<<" "; cout<<endl; //cout<<"y="<<y<<endl; //编译出错! //把这个函数复制到int y=5678;后面是就不会出错误了。有意思 //就算是extern int y=5678;也不能解决该问题 } //声明外部变量并初始化 int y=5678; //在main()函数中使用外部变量 int main() { //声明局部变量 int i,p=100; //显示重名变量 cout<<"In main():"<<endl; cout<<"p="<<p<<endl; //显示全局变量 //当局部变量与全局变量重名时,如何引用全局变量 //重名的问题也能出现。。。需要反思一下 cout<<"::p="<<::p<<endl; cout<<"a[]: "; for (i=0;i<=2;i++) cout<<a[i]<<" "; cout<<endl; cout<<"y="<<y<<endl; //编译正确! show(); //调用函数 return 1; }