/* 全局变量和局部变量 : 全局变量 : 1,如果没有初始化,默认值为0; 2,存储在静态区中,随着程序启动而创建,程序结束而释放; 局部变量 : 1,作用域 : 自定义位置起至return或"}"结束; 2,同一个作用域内,局部变量不可同名; 3,未初始化的局部变量中,保存着一堆乱码; 4,变量的调用原则 : 就近原则; 5,局部变量保存在栈中,作用局结束即被释放; 内部全局变量和外部全局变量 : 内部全局变量 : 以static关键字修饰,只能够被当前文件访问的全局变量 1,同一作用域内可定义多个同名的内部全局变量,同名的内部全局变量指向同一块内存空间; 2,不同文件中的内部全局变量指向不同的内存空间; 外部全局变量 : 默认情况下,创建的全局变量均为外部全局变量,可其他文件访问的全局变量; 1, 可同时定义多个同名的外部全局变量,同名的外部全局变量指向同一块内存空间; 2, 外部全局变量的安全性问题 : 在Xcode升级之后,处于安全性考虑,不在允许在其他文件中,直接访问外部全局变量,但仅仅只是Xcode不支持而已,但其本身,并没有错, 在终端中,可正常执行.但在Xcode中想要在其他文件中,访问外部全局变量,必须以extern关键字声明,要访问某一个外部全局变量,明确用户知道自己当前操作; 3,extern的其他用法,在同一个文件中,如果变量定义在变量使用之后,同样可以使用extern进行声明; static对局部变量的作用 : 1,会将局部变量创建在静态区中,延长其生命周期,减少局部变量的重复创建和释放,提高程序执行效率; 2,作用域 : 自定义位置起至文件末尾; 3,当系统遇到static修饰的局部变量时,首先会检查静态区中是否存在该变量,如果存在,则直接使用,该语句仅仅起到声明的作用,如果不存在,则在静态区中创建该变量; static和extern对函数的作用 : 内部函数和外部函数 : 外部函数 : 默认情况下,创建的函数,即为外部函数,可被其他文件访问; 内部函数 : 以关键字static修饰,只能够被当前文件访问的函数;当然static也可用于声明一个内部函数; */
C语言之static和extern
原创
©著作权归作者所有:来自51CTO博客作者师趣妮的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C语言之旅
C语言之旅
字符串 main函数 目标文件 -
【C语言】static和extern的作用
在之前的博客中,提到过static的三个作用,但是没有详细说明这三个作用的场景,现在回过头来记录一下。修饰函
c语言 开发语言 g++ 全局变量 #include -
C语言中 static 和 extern 的用法详解
在 C 语言中变量存在两种 :全局变量 局部变量所以下面我们
开发语言 c语言 全局变量 源文件 局部变量