从化网站开发,wordpress怎么换log,做网站用php吗,哪个网站有做兼职的变量几乎代码程序程序 中最基础的组成单元#xff0c;程序员几乎无时无刻都在接触变量。但你对变量的理解真的足够吗#xff1f;
首先#xff0c;什么是变量#xff1f;#xff01;
第一层理解#xff1a;一个可以改变的量#xff0c;区别于常量#xff0c;用户可以修…变量几乎代码程序程序 中最基础的组成单元程序员几乎无时无刻都在接触变量。但你对变量的理解真的足够吗
首先什么是变量
第一层理解一个可以改变的量区别于常量用户可以修改它的值当然更可以读取它的值。
变量是有类型和变量名所定义的比如 int a 0; std::string msg Hello World!;
类型包括整型变量int浮点型变量float字符型变量char ,字符串string等等这些变量通常是用户程序员自己定义和操纵的。变量类型让计算机和用户知道该变量持有什么类型的东西计算机会更加变量类型分配适当的内存。 第二层理解我们操作变量是通过变量名那么变量名本质上是什么比如 int num 10; 我们通过num来读写该变量要知道当我们定义一个变量时计算机会自动分配一块内存用来存储该变量。而变量名就相当于这块内存区域的别名引用通过这个别名我们可以直接读写该区域。
比如刚才的例子int num 10; 计算机会在内存分配一个4字节大小的区域并在该区域填上数字10。我们通过num可以直接得到数字10也可通过num 666直接把该区域的值改为666。
第三层理解变量定义在不同的位置就会有不同的作用域。定义在函数内是局部变量只在函数内有效。定义在函数外就是外部或全局变量从定义处到文件结尾全局有效。当然还有静态变量通过static关键字声明的又分为静态全局变量只在文件范围内可见。静态局部变量只在第一次调用时初始化 第四层理解计算机的存储分为硬盘、内存、高速缓存、寄存器等。我们接触最多的是硬盘和内存。内存是易失性存储区即断电会清空内存所有内容。硬盘是可持久化存储的大家都清楚。当程序运行时会把代码和数据加载到内存并根据需要动态在内存创建数据。
所以内存分为多个区域分别用于存储不同类型的东西。常见的分类有全局存储区线程栈、堆等。系统会根据变量类型为它分配不同的存储区域。比如全局变量静态变量都存放在全局变量区它们会在程序启动时创建和分配内存在程序结束时销毁。 而局部变量函数参数这些会在线程栈上分配内存它们是在函数调用时创建和分配退出函数时销毁。另外还有程序员动态申请的内存变量比如通过new malloc等会在堆上分配内存这块空间通常需要程序员手动释放否则会造成内存泄漏等异常。