1.const关键字 (1)const 修饰的变量是只读的,它不是真正的常量,本质还是变量,只是告诉编译器不能出现在赋值号左边! (2)const 修饰的局部变量在栈上分配空间 (3)const 修饰的全局变量在全局数据区分配空间(vc、gcc 会将其放入常量区,bcc 放入全局数据区) (4) c ...
分类:
编程语言 时间:
2016-09-22 09:55:35
阅读次数:
144
Java常用的内存区域: (1) 栈内存空间:保存所有的对象名称。 (2) 堆内存空间:保存每个对象的具体属性内容。 (3) 全局数据区:保存static类型的属性。 (4) 全局代码区:保存所有的方法定义。 Static:非static声明的方法可以调用static声明的属性或方法。 但stati ...
分类:
编程语言 时间:
2016-08-10 22:36:58
阅读次数:
292
在C++中,我们经常难以说清楚全局变量、局部变量和静态局部变量的区别。本博客从变量存储特性和标识符作用域两个角度区分这三个变量。 首先,我们来看看C++程序的内存区域是如何分配的。 从上图,我们可以看到,C++程序的内存区域分为代码区、全局数据区、堆区和栈区。其中,全局变量和静态局部变量存放在全局数 ...
分类:
编程语言 时间:
2016-04-06 02:09:46
阅读次数:
246
1. 全局变量,局部变量,静态变量 auto,register《没用》 extern全局使用会引出错误 static 直到全部结束才释放 2.概念 2.1 全局数据区:全局变量/常变量,静态变量,字符串常量 2.2 代码区:函数和程序代码 2.3 栈:行参,返回地址,局部变量 2.4 堆:动态分配内 ...
分类:
其他好文 时间:
2016-03-29 10:05:31
阅读次数:
159
1. 静态全局变量 在全局变量之间加上static关键字,就被定义为静态全局变量。 特点:在全局数据区分配内存 未初始化则被自动初始化为0 在声明它的文件内可见,在声明它之外的文件不可见,其他文件中可使用同名变量 2. 静态局部变量 在局部变量前加上static关键字,就被定义为静态局部变量 特点:
分类:
编程语言 时间:
2016-02-10 06:39:04
阅读次数:
243
对于一个完整的程序,在内存中的分布情况如下图: 一般程序的由new产生的动态数据存放在堆区,函数内部的自动变量存放在栈区。自动变量一般会随函数的退出而释放空间,静态数据(即使是函数内部的静态局部变量)也存放在全局数据区。全局数据区的数据并不会因为函数的退出而释放空间。静态局部变量 在局部变...
分类:
其他好文 时间:
2015-10-20 21:10:07
阅读次数:
159
动态变量和静态变量的区别:1、存储位置动态变量:存储在内存出栈数据区静态变量:存储在全局数据区(静态数据区)2、生命期动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数范围变量将失效静态变量:程序结束时才释放3、作用域动态变量:同样的要根据你定义的位置才能确定,和第二点的一样静态变量:当前文件中有效...
分类:
其他好文 时间:
2015-10-03 10:43:14
阅读次数:
208
1,空结构体的字节大小为:1;2,含有static成员的结构体:sizeof 只算存栈中分配的空间大小,static成员存储在全局数据区内,故 static 成员变量不计算在内。3,在默认对齐方式中,每种类型的存储开始地址是 能被该类型大小整除的地址。故:每次计算都假设结构体开始地址是 0;4,遇到...
分类:
其他好文 时间:
2015-09-15 16:26:49
阅读次数:
165
成员变量 通过对象名能够访问public成员变量 每个对象都可以有只属于自己的成员变量 成员变量不能在对象之间共享类的静态成员静态成员变量 存储在 全局数据区#include class Test { private: ...
分类:
编程语言 时间:
2015-06-30 14:31:42
阅读次数:
131
一-静态局部变量。
1.函数内的static变量的作用范围在该函数内,该变量只在内存中初始化一次,下次使用时依然维持以前的值,不再进行初始化的工作。因为static变量保存在全局数据区,而不是栈区,保持到下一次使用时依然有效。由于其保存在全局数据区,所以它的有效范围在局部函数内,但是生命周期却伴随着整个进程的生命周期的结束。
二-全局静态变量
1)未显示初始化的全局静态变量,系统会根据该静态全...
分类:
其他好文 时间:
2015-06-16 09:30:06
阅读次数:
162