武汉PHP培训
达内武汉民大中心

15827352908

热门课程

变量的作用域和存储方式

  • 时间:2017-12-13 18:55
  • 发布:武汉PHP培训
  • 来源:互联网

今天,达内武汉php培训的小编将要给大家带来的是变量的作用域和存储方式。

按作用域分

1、全局变量:在所有的函数外部定义的变量叫做全局变量

全局变量使用范围:从定义位置开始到整个程序结束

2、局部变量:在一个函数内部定义的变量或者是函数的形参,都统称为局部变量

void f (int i)  //函数的形参,是局部变量

{

int j = 20;  //函数内部定义的变量,是局部变量

}

局部变量使用范围:只能在内部使用

注意的问题:

局部变量和全局变量命名冲突的问题

在一个函数内部如果定义的局部变量的名字和全局变量名一样时,局部变量会屏蔽掉全局变量

按变量的存储方式分

1、静态变量:静态变量的类型关键字是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量, 例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。 对于自动变量,它属于动态存储方式。 但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。 由此看来,一个变量可由static进行再说明,并改变其原有的存储方式。

2、自动变量:函数中的局部变量,如果不用关键字static加以声明,编译系统对它们是动态地分配存储空间的。函数的形参和在函数中定义的变量(包括在复合语句中定义的变量)都属此类。在调用该函数时,系统给形参和函数中定义的变量分配存储空间,数据存储在动态存储区中。在函数调用结束时就自动释放这些空间。如果是在复合语句中定义的变量,则在变量定义时分配存储空间,在复合语句结束时自动释放空间。因此这类局部变量称为自动变量(auto variable)。自动变量用关键字auto作存储类别的声明。

3、寄存器变量:在程序运行时,根据需要到内存中相应的存储单元中调用,如果一个变量在程序中频繁使用,例如循环变量,那么,系统就必须多次访问内存中的该单元,影响程序的执行效率。因此,C\C++语言还定义了一种变量,不是保存在内存上,而是直接存储在CPU中的寄存器中,这种变量称为寄存器变量。

以上就是今天分享的内容,更多知识敬请关注达内武汉php培训的官网!

马上预约七天免费试听课

姓名:

电话:

上一篇:自学php,大概要多久
下一篇:学php,选择哪个培训机构好?

达内教育集团总裁韩少云:双师模式的实践与思考

达内与广西教育学院携手签约,共建专业开启校企合作新阶段!

Java工程师岗位面试总结,看完了才发现知识不够用!

PHP中的堆是如何工作?

选择城市和中心
贵州省

广西省

海南省

有位老师想和您聊一聊