1、两者的区别只在于作用域和生存周期。main函数是一个进程的入口,此外,和别的函数无区别。main函数里定义的是局部变量,只是在main函数里有效。
站在用户的角度思考问题,与客户深入沟通,找到商水网站设计与商水网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网页空间、企业邮箱。业务覆盖商水地区。
2、在函数体之内的i和函数体之外的i是存放在两个内存位置的,在内部能够看到的是内部生存期的。建议你去看下变量在函数的生存期和内存中的位置,会有更深刻的理解。
3、这个是编译器的原因,不是c语言的规定。你用的是 visual stduio 吧。用gcc dev c++ 和以前的VC++都不会要求这样,而vs有这个要求。
1、你写的只是引用,也可以说读取是可以的,但不能修改。
2、不大明白你的意思!在函数中定义的变量,其作用域只是在该函数里,其他函数想使用这个变量,需要通过其他方式,不能直接使用变量名字来访问这个变量。作用域规定的是名字的适用范围。
3、在整个工程文件内都有效;“在函数外定义的变量”,即从定义变量的位置到本源文件结束都有效。由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值, 就能影响到其他函数中全局变量的值。
4、是的。在函数内部定义的变量,称之为局部变量。局部变量的作用域,也就是有用的范围,是从定义位置开始,到所在大括号结束。如 int func(){ int i = 10; //i的定义位置。
5、是的。函数体内部定义的变量,作用域 为函数体内部。文件中定义的全局变量,作用域为整个文件。使用static 定义的文件内部全局变量只能在文件内部访问,未使用static 定义的,可以在其他文件中使用extern,对变量进行访问。
6、函数中定义的变量只能在函数体重起作用,Python在函数中定义的变量只能在该函数体中才可以起作用,只要出了这个函数,那么其他的地方就无法访问这个变量,因为该变量的作用域只在这个函数中,所以只在本函数体内有效。
前面没有static,register,extern这几个关键字修饰的变量都是auto类型的,也就是自动变量。
main函数里定义的是局部变量,只是在main函数里有效。如果程序里有多个函数,定义的全局变量在这些函数里都可以使用,而在main中定义的只能在main中使用,其他函数不可以直接调用。
以int a为例 如果int a定义在函数外,(包括main函数)那么它就是全局变量,在函数内的就是局部变量。
局部变量是在某一函数内定义的变量,有效区域在本函数里。全局变量定义在函数外,全局起作用。