C语言之static和extern

发布时间:2020-08-10 23:42:00 作者:师趣妮
来源:网络 阅读:290
/*
全局变量和局部变量 :
    全局变量 : 
        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也可用于声明一个内部函数;
*/


推荐阅读:
  1. c语言extern关键字详解
  2. extern 的使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c extern st

上一篇:浅谈类及对象的字段和方法

下一篇:mysql备份每个库下面每个表

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》