黑马程序员技术交流社区

标题: static 和extern关键字 有什么区别? [打印本页]

作者: keeganlee    时间: 2015-3-7 08:36
标题: static 和extern关键字 有什么区别?
如题 求大神指导
作者: tripleCC    时间: 2015-3-7 09:38
我的理解,欢迎纠正:
对于变量(包括局部变量和全局变量):
static:
    局部变量:表示将本来“运行时存放在栈中的数据”在“编译时存放至静态数据存储空间”,生命周期长达

整个执行过程,并且只会在第一次执行语句时初始化一次(作用域不变,仅限于定义变量的语句快)
    全局变量:表示将数据存放值静态数据存储空间,在程序运行结束之前都生效(作用域仅限定义全局变量的

文件)
extern:
    表示这个变量在其他地方定义,在此处引用(局部变量出了作用域就over,所以基本不针对局部变量使用

extern,大都针对其他文件的全局变量)

对于函数:
static:
     表示函数在本文件可见,不能被其他文件的函数调用
extern:
     表示函数定义在别处,在此处引用(现在都是默认extern的好像,头文件的函数不加extern貌似也可以)

总体来说static有限定的意思,extern有开放的意思
作者: dio925_heima    时间: 2015-3-7 10:24
这是oc的么?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2