main函数是一个进程的入口,除此之外,和别的函数无区别,你说main函数内的变量和函数外定义的变量有什么区别?
主要是作用域和生存周期的问题。
main函数里定义的并非全局变量,只是在main函数里有效。如果程序里有多个函数,定义的全局变量在这些函数里都可以使用,而在main中定义的只能在main中使用,其他函数不可以直接调用比如:
- int n=0;
- void f()
- {
- n++;
- }
- int main()
- {
- n++;
- f();
- return 0;
- }
如果int n定义在main中
- void f();
- int main()
- {
- int n=0;
- n++;
- return 0;
- }
- void f()
- {
- n++;//error ,此处编译都不会通过.
- }
要搞清全局变量和局部变量的区别,全局变量是程序的各个函数都可以调用的,而局部变量只在函数内部有效。