A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luguo 中级黑马   /  2015-6-8 18:40  /  743 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

***   static(内部)和extern(外部)对函数的作用   

1.默认情况下,所有函数都是外部函数,可以被其他文件访问
2.外部函数:不允许有同名的外部函数。
3.内部函数:有序不同文件中有同名的内部函数。
extern作用:1.定义一个外部函数;2.声明一个外部函数
static作用:1.定义一个内部函数;2.声明一个内部函数
定义外部函数:extern void test();或者   void test()
定义内部函数:static void test()

***   static(内部)和extern(外部)对变量的作用  

1.外部变量:定义的变量能被本文件和其他文件访问;
                不同文件的同名变量都代表同一个变量。
2.内部变量:定义的变量只能被本文件访问,不能被其他文件访问。
                不同文件的同名内部变量互不影响。
3.默认情况下,所有变量都是外部变量,可以被其他文件访问。
定义外部变量: int a  (extern int a  是错误用法,extern只能声明)
定义内部变量:static int a;
4.作用:static:定义一个内部变量
           extern:声明一个外部变量

static与局部变量                

static修饰局部变量的使用场合:
1.如果某个函数的调用频率特别高
2.这个函数内部的某个变量值是固定不变的
static作用:
1.延长局部变量的生命周期:程序结束的时候,局部变量才会被销毁
2.并没有改变局部变量的作用域
3.所有的test函数都共享着static定义的一个变量。

2 个回复

倒序浏览
听说很重要
回复 使用道具 举报
还行,不错挺简单的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马