黑马程序员技术交流社区
标题:
static变量和全局变量的区别
[打印本页]
作者:
2的狠正经
时间:
2014-5-7 18:47
标题:
static变量和全局变量的区别
自己总结了一下三点, 不知道对不对,还有漏掉的, 大神指教啊
1,static在函数内定义局部静态变量,仅有本函数可以调用,而且放在静态存储区。
2,全局变量就不用定义static了,肯定在静态存储区,所有函数都可以调用,二者的作用域不同。
3,如果全局变量使用static修饰,那么只是本文件可见。
作者:
251638256
时间:
2014-5-10 08:57
:D好 学习了 static应该还是很有用的 局部作用域的全局变量
作者:
詹绪长
时间:
2014-5-10 12:40
我感觉楼主说的是extern 和static 的区别:
首先是对变量来说,
extern int a 仅是声明一个外部变量;
static int a 定义一个内部变量 。
static 用来修饰局部变量:
1* 可以延长函数的生命周期,知道程序结束才会被销毁
2* 不会改变变量的作用域.
3* 所有的函数都有一个变量b .
static的适用场合:
——某个函数调用频率比较高(省去创建 删除创建删除反复的麻烦)
——函数内部的某个变量的值不变。
其次对函数来说
static 定义一个内部函数,声明一个内部函数。如果省略static,变成默认情况(extern)。
static 定义的属于内部函数不能够被其他文件访问,可以存在同名内部变量在不同的函数中。
extern完整的定义和声明一个外部函数,不能同时存在两个同名字的外部函数,访问冲突。
作者:
詹绪长
时间:
2014-5-10 12:41
詹绪长 发表于 2014-5-10 12:40
我感觉楼主说的是extern 和static 的区别:
首先是对变量来说,
extern int a 仅是声明一个外部变量;
这是我写的日记给你挑着说了一点。
作者:
jing迪
时间:
2014-5-10 13:37
楼上解释的不错
作者:
为梦想挺身而出
时间:
2014-5-10 14:19
不错 ,
学习了
作者:
2的狠正经
时间:
2014-5-10 14:40
詹绪长 发表于 2014-5-10 12:40
我感觉楼主说的是extern 和static 的区别:
首先是对变量来说,
extern int a 仅是声明一个外部变量;
学习了!!!
作者:
满面春风
时间:
2014-5-10 15:45
还有看变量的修饰符,public 修饰的话其他类都可以调用,private修饰的话只能在本类中使用
作者:
朝花夕拾_黑马
时间:
2014-5-10 16:41
静态、全局变量,静态变量属于总个类吧,全局变量只是作用域是在什么时候都能用,不用理解的那么复杂,会用就行
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2