一.简介 二.对象内存 1.创建和销毁对象 对象可以存放在栈中或者静态存储区中 也可以在堆(heap)上动态创建对象 2.对象的生命周期 在栈上或在静态存储区上创建一个对象,编译器决定了对象持续的声明周期并自动销毁它 在堆上创建对象,编译器不知道它的生命周期,由程序员编程决定何时销毁对象 垃圾收集器 ...
分类:
编程语言 时间:
2019-10-17 16:06:49
阅读次数:
85
1.内存分配的几种方法与特点答案:栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,自由存储区:就是那些由malloc等分配的内存块全局/静态存储区:全局变量和静态变量被分配到同一块内存中常量存储区:这 ...
分类:
编程语言 时间:
2019-10-15 16:21:58
阅读次数:
100
在类里面成员函数的初始值是多少了?(取决于创建对象的位置,是在堆、栈、还是在静态存储区中创建。) 例如: 运行结果: 可以看出,对象只是变量,所以在不同的地方定义变量,所的到的初始值也不同。 在堆上定义:为随机数 在栈上定义:为随机数 在静态存储区上定义:因为静态存储区中变量默认为0 ,所以为0 这 ...
分类:
编程语言 时间:
2019-10-11 01:07:25
阅读次数:
97
C语言内存四区:代码区、数据区、栈区、堆区 1.代码区(.text):代码区中主要存放程序中的代码(二进制),属性是只读。 2.数据区(静态存储区):主要包括静态全局区和常量区,如果要站在汇编角度细分的话还可以分为很多小的区。 A.全局区(静态区,static):全局变量和静态变量的存储是放在一块的 ...
分类:
其他好文 时间:
2019-10-10 11:20:52
阅读次数:
116
例题: 1. 全局静态变量 在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。 1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在) 2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是 任意的,除非他被显示初始化) 3)作用域:全局静态 ...
分类:
编程语言 时间:
2019-10-06 11:34:37
阅读次数:
69
1. static关键字的作用 (1)全局静态变量 在全局变量前面加上关键字static, 全局变量就定义为一个全局静态变量 在静态存储区,在整个程序运行期间一致存在。 初始化:未初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显示初始化) 作用域:全局静态变量在声明他的文件之 ...
分类:
编程语言 时间:
2019-09-20 23:27:49
阅读次数:
102
一、说一下static关键字的作用 1.全局静态变量 在全局静态变量前加上关键字static,全局变量就定义为一个全局静态变量 内存中的位置:静态存储区,在整个程序运行期间一直存在 初始化:未经初始化的全局静态变量会被自动初始化为0,(自动对象的值是任意的,除非他被显示初始化) 作用域:全局静态变量 ...
分类:
编程语言 时间:
2019-09-07 22:14:13
阅读次数:
91
全局静态变量 全局变量前加上关键字static,全局变量就定义成一个全局静态变量.,全局静态变量存储在静态存储区,在整个程序运行期间一直存在。全局静态变量在程序运行之前就存在。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化)。 作用域:全局静态变量在声 ...
分类:
其他好文 时间:
2019-08-30 13:34:23
阅读次数:
76
Static关键字 1. 全局静态变量 内存中位置:静态存储区,且程序运行期间一直存在。 未经初始化的全局静态变量自动初始化为0。 全局静态变量在声明文件之外是不可见的。 2.局部静态变量 内存中位置:静态存储区。 未初始化自动初始化为0。 作用域为局部作用域,但离开作用域后不会销毁,仍然驻留在内存 ...
分类:
编程语言 时间:
2019-08-28 17:14:51
阅读次数:
138
1.具有全局的生存期和记忆功能 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围,说到底static还是用来隐藏的。虽然这种用法不常见 PS:如果作为st ...
分类:
其他好文 时间:
2019-08-20 20:18:14
阅读次数:
95