全局区(static):全局变量和静态变量存放在此。 文字常量区:常量字符串放在此,程序结束后由系统释放。 程序代码区:存放函数体的二进制代码。 5. 后面的话 与全局变量相比,静态变量存...
12-31 350
static定义的变量有什么特点 |
函数内static变量存放位置,static局部变量和全局变量
静态变量属于整个类,也称为类变量。 非静态变量属于对象,也称为实例变量。2.它们存储在内存中的不同位置。2.它们存储在内存中的不同位置。3.它们的访问方式不同。实例变量:对象名。一般程序中的变量用new表示。生成的动态数据存储在堆区,函数内部的自动变量存储在栈区。 自动变量通常会在函数退出时释放空间,静态数据(甚至函数内部的静态局部变量)
3)作用域:作用域仍然是局部作用域。当定义的函数或语句块结束时,作用域也结束。 注意:使用static修饰局部变量时,会改变局部变量的存储位置。在全局变量前添加关键字static,则全局变量被定义为全局静态变量。 1)在内存中的位置:静态存储区(静态存储区在整个程序运行过程中都存在)2)初始化:未初始化
ˇ▂ˇ 也就是说,无论是否有初值,无论是函数内定义的全局变量还是局部变量,只要是用static关键字定义的变量,都会被放在.data数据段中。 bssBSS段:用于存储没有初始值的全局变量。 新的一般程序未经初始化生成的动态数据存放在堆区,函数内部的自动变量存放在栈区。 自动变量通常会在函数退出时释放空间,以及静态数据(甚至函数内部的静态局部变量)
其实C内存模型很简单,所以我自己做了一个图,参考了https://blog.csdn.net/second60/article/details/79946310的图:函数参数、函数内部创建的临时变量都存储在这里1.在局部变量前添加"static"关键字,成为静态局部变量。 2.静态局部变量存储在内存的全局数据区。 静态局部变量不会在函数结束时消失,也不会在每次调用函数时消失。
后台-插件-广告管理-内容页尾部广告(手机) |
标签: static局部变量和全局变量
相关文章
全局区(static):全局变量和静态变量存放在此。 文字常量区:常量字符串放在此,程序结束后由系统释放。 程序代码区:存放函数体的二进制代码。 5. 后面的话 与全局变量相比,静态变量存...
12-31 350
区别在于:1、作用域不同;2、内存存储方式不同;3、生命期不同;4、使用方式不同。局部变量可以与全局变量重名,但是局部变量会屏蔽全局变量。全局变量是编程术语中的一种,源自...
12-31 350
C语言全局变量和局部变量:全局变量的作用范围比较大,而局部变量是在限定的范围内起作用,定义在函数内部的变量是局部变量,作用是指在限定的函数内有效,离开限定的范围,就是无...
12-31 350
修饰局部变量-静态局部变量: static修饰局部变量:变量的生命周期变成全局的,作用域依旧只在本函数内有效。 使用方法:函数内部计数器 修饰全局变量-静态全局变...
12-31 350
Navicat的int类型长度默认为0代表什么意思?int()括号中的数字并不是设置数据⼤⼩限制的 ⽆论你设int(11)还是int(3)都可以⽀持32位的数字表⽰ 显⽰宽度:⽐如你数据字段设计...
12-31 350
发表评论
评论列表