一、变量的定义
变量是我们接触编程时第一个要接触的东西,也是我们在日常编程中要掌握的最基本的基础知识。那么什么是变量呢?顾名思义,变量指的是在程序的运行过程可以改变的量,而它也是我们写的程序在运行时临时存储数据的地方。官方的解释如下:
它的构成部分如下:
如上图所示,其中变量名也被称作标志符。当我们在程序里声明一个变量以后,我们可以通过赋值运算符“=”号来给该变量赋值,如上图“zhangsan”就是first_name这个变量所保存的值。
二、变量名的声明规则和方式
接下来笔者讲讲关于变量的声明规则,具体如下:
大部分编程里的变量名只能由数字、字母和下划线构成。变量名不能数字开头,可以以下划线或者字母开头。不能使用编程语言里保留的关键字作为变量名。关于变量名的命名的方式有如下几种:
驼峰式命名法:第一个字母的首字母小写第二个起首字母大写:getUserName;下划线命名法:每个单词使用下划线隔开“get_user_name;
变量的命名的要有意义,好的变量命名可以使人一看就懂这个变量来保存什么数值的,如果您英文比较好的话,笔者比较推荐使用英文命令的变量。例如(以php语言为例):保存一个的年份的变量可以$year英文不好的话可以使用拼音如:$nian。千万不要随便给变量命名:如$aaa$a12$bbb这些毫无意义的变量的名称,会给程序的review造成很大的困难。
三、变量的分类
变量又可以分为全局变量和局部变量,它们之间的区别是,当你声明了一个全局变量之后,这个全局变量无论是在函数外还是函数内都可以访问到,而局部变量只能在函数的内部声明,也只能在定义它的函数内部访问。
除此之外,这两者变量的销毁时机不同,局部变量是当定义这个局部变量的函数执行完成时,这个局部变量就会被销毁,而全局变量是当整个页面的脚步执行完成之后这些全局变量才会被销毁。
四、变量在内存中的存储方式
因为变量可以保存不同的变量类型,比如整型、布尔型、对象、数组等等,每一个变量在内存中对应着一个内存地址,但是如果一个变量保存一个原始数据类型(整型、布尔型、字符串)则该变量的值是保存在栈内存中,而相对于那些较复杂的数据类型(数组、对象)则是在栈中只存储了一个固定长度的地址,这个地址指向堆内存中的值:
五、变量在函数的传递方式
第一种:简单的传递方式,函数通过参数将外面的变量值传递函数内部使用时相当于函数外面的全局变量复制了一份,然后把复制出来的变量通过函数参数传递给函数内部使用:
此时相当于把$name和$age复制了一份,然后复制出来的变量通过函数参数传递给函数内部使用,此时在函数内部无论你怎么改变$name和$age的值都无法改变函数外$name和$age的值,虽然它们变量名都一样,但是保存变量的地址却是不一样的。
第二种:把全局变量的在内存中保存地址通过参数传递到函数内部去,此时函数中的参数传递的不再是变量的值,而是变量在内存中保存地址,所以此时你在函数内部中改变这个参数的值时也就相当于你改变了函数外面全局变量的值,因为你改了同一个内存地址中值。
以上就是笔者关于程序中变量的知识总结,希望能对您有所帮助,如果您对这篇文章有什么好的看法或者意见也可以在评论区留言,谢谢!!