BSS段:在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。
数据段:在采用段式内存管理的架构中,数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。
代码段:在采用段式内存管理的架构中,代码段(code segment / text
segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读,
某些架构也允许代码段为可写,即允许自修改程序。 在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。
堆栈又称堆栈(stack)在计算机科学中,是一种特殊的链表形式的数据结构,它的特殊之处在于只能允许在链表的一端(称为栈顶,英文为top)进行添加和删除操作。另外堆栈数据结构的实现也可以通过数组来完成。
严格来说堆是指Heap,程序运行时供程序员来支配的一段内存。
而栈Stack,多指函数调用时候参数的相互传递存在的内存区域。
由于堆栈数据结构只允许在一端进行操作,因而按照先进后出(LIFO-Last In First Out)的原理工作。
堆栈数据结构支持两种基本操作:压栈(push)和弹栈(pop):
1. 压栈(入栈):将对象或者数据压入栈中,更新栈顶指针,使其指向最后入栈的对象或数据。
2. 弹栈(出栈):返回栈顶指向的对象或数据,并从栈中删除该对象或数据,更新栈顶。
C++中引用和指针的区别
指针初始化的时候,可以指向一个地址,也可以为空。《----》引用必须初始化为另一个变量.
C/C++中的指针其实就是一个变量,和其他类型的变量是一个样子的,它是一个占用四字节的变量(32位机上),它与其他变量的不同之处就在于它的
变量值是一个内存地址,指向内存的另外一个地方。reference我的理解就是一个别名,它和linux操作系统上的alias是一个样子的。再者,一
个pointer变量可以指向NULL,表示它不指向任何变量地址,但是reference必须在声明的时候就得和一个已经存在的变量相绑定,而且这种绑
定不可改变。
如果是传递指针,那么先复制该指针,在函数内部使用的是复制后的指针,这个指针与原来的指针指向相同的地址,如果在函数内部将复制后的指针指向了另外的新的对象,那么不会影响原有的指针;
但
是对于传递指针引用,如果将传递进来的指针指向了新的对象,那么原始的指针也就指向了新的对象,这样就会造成内存泄漏,因为原来指针指向的地方已经不能再
引用了,即使没有将传递进来的指针指向新的对象,而是在函数结束的时候释放了指针,那么在函数外部就不能再使用原有的指针了,因为原来的内存已经被释放
了。
引用和指针
★ 相同点:
1. 都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
★ 区别:
1. 指针是一个实体,而引用仅是个别名;
2. 引用使用时无需解引用(*),指针需要解引用;
3. 引用只能在定义时被初始化一次,之后不可变;指针可变;
引用“从一而终” ^_^
4. 引用没有 const,指针有 const,const 的指针不可变;
5. 引用不能为空,指针可以为空;
6. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;
typeid(T) == typeid(T&) 恒为真,sizeof(T) == sizeof(T&) 恒为真,
但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。
7. 指针和引用的自增(++)运算意义不一样;
★ 联系
1. 引用在语言内部用指针实现(如何实现?)。
2. 对一般应用而言,把引用理解为指针,不会犯严重语义错误。引用是操作受限了的指针(仅容许取内容操作)。
分享到:
相关推荐
BSS段、数据段、代码段、堆与栈
BSS段、数据段、代码段、堆与栈的一些小知识总结
NULL 博文链接:https://lindows.iteye.com/blog/237925
安徽联通BSS CRM数据字典 安徽联通BSS CRM数据字典.rar
运营商已开始从“以生产为中心”向“以客户为中心”的经营战略的转变,电信竞争热点也从网络竞争转向服务竞争,投资方向也从硬件向软件转变,通过高效的信息管理和运营服务提高自身竞争力,因此,BSS/OSS的...
融合与开放已经成为ICT发展的潮流,支持ICT运营的OSS/BSS和ITSM系统必须进行内部成分之间以及与外部系统间的有效融合才能适应这一形势的发展。总结了当前ICT服务运营的特点,分析了OSS/BSS一体化的驱动力,描述了...
和空间位置有关的服务均可引入GIS技术,可提高OSS/BSS的服务效率和服务质量。结合GIS技术的发展趋势和OSS/BSS的相关理论,总结了GIS 技术在OSS/BSS 中的各种应用,针对GIS 平台在电信行业运营中存在的问题进行剖析,...
电信营业厅必备罗件
C语言不同变量内存区域(堆,栈,代码区,全局区,BSS段)
针对电信基础运营商的具体需求,提出了一种由客户管理域、业务管理域和网络/资源管理域构成的BSS/OSS系统基本结构;为了基本结构的细化,对各管理城的业务元构件进行了描述。为建立BSS/OSS系统的业务处理框架,根据...
BSS分离的MATLAB程序
中国新的电信运营商的营运模式变化的主要特点就在于从传统的以...更重要的是,三级结构的系统其业务数据、应用系统不能集中,因而在业务分析、新业务推广、系统升级改造等方面都较两级结构的系统明显缺乏市场竞争能力。
OSS/BSS是电信企业的关键应用系统,需要在长期的运行和维护中保持对业务的稳定支持。为了做到这一点,就必须保持系统架构的稳定性和业务处理的一致性。在技术和业务需求迅速发展和变化的今天,要做到这一点非常困难...
To that end, we present simulation results of overlapping basic service sets (BSSs), a 802.11n BSS operating in 20/40 MHz mode and a legacy BSS operating in 20 MHz mode, where the overlapping channel...
很好的一个基于ASP技术的BSS论坛的开发,包含源码
华为移动通信BSS资料华为移动通信BSS资料华为移动通信BSS资料华为移动通信BSS资料
电信集团的数据模型文档,里面的东西很详细,包含了各个场景的内容。
中国电信 CTG-MBOSS BSS CRM业务功能规范
NGOSS提供了一整套的方法...最后根据共享的数据模型组建实际的OSS/BSS系统。数据是 OSS/BSS设计中最重要的特性,成功建立0SS/BSS系统关键是有一个好的共享信息模型。因此,NGOSS提供了共享信息模型的通用框架——sID
为帮助电信运营商在与OTT运营商的竞合中赢得主动权,文章通过分析通讯行业发展趋势,结合OSS/BSS领域的最新技术能力,为运营商指明在OSS/BSS层面需要着力把控的三个重要发展方向:1)提高快速、动态响应用户需求和新...