内存
无限coding
这个作者很懒,什么都没留下…
展开
-
结构体的存储方式
在做课程设计的时候发现结构体的入口地址与它的第一个元素地址相同 Typedef union student { Char name[10]; Long sno; Char sex; Float score [4]; } STU; Main () { STU a[5]; Printf(“%d/n”,si转载 2014-08-19 14:23:29 · 968 阅读 · 0 评论 -
分段和分页
一. 分页存储管理 1.基本思想 用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。 2. 分页存储管理的地址机构 15 12 11 0 页号P 页转载 2014-08-18 20:46:29 · 514 阅读 · 0 评论 -
C++ static与const的区别
对于C/C++语言来讲, : -----const就是只读的意思,只在声明中使用; -----static一般有2个作用,规定作用域和存储方式. 对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放; 对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内函数转载 2014-08-19 14:55:16 · 1008 阅读 · 0 评论 -
C++程序的内存布局
对任何一个普通C++程序来讲,它都会涉及到5种不同的数据段。常用的几个数据段种包含有“程序代码段”、“程序数据段”、“程序堆栈段”等。不错,这几种数据段都在其中,但除了以上几种数据段之外,进程还另外包含两种数据段。下面我们来简单归纳一下进程对应的内存空间中所包含的5种不同的数据区。 代码段:代码段是用来存放可执行文件的操作指令,也就是说是它是可执行程序在内存种的镜像。代码段需要防转载 2014-08-15 10:39:57 · 464 阅读 · 0 评论 -
联合体存储空间
/* 功能:演示联合体存储方式 备注: 1、内存中数据低位字节存入低位地址,高位字节存入高位字节。 2、联合体存储空间为最大的元素占用空间,此空间公用。 */ #include using namespace std; union //联合体空间大小为i的大小,4Bytes { unsigned char a;原创 2014-08-21 17:04:25 · 909 阅读 · 0 评论 -
C函数调用与堆栈的变化
感想:这个的堆栈的图示画的还是非常好的。。。。。。。,反汇编的注释也是相当通俗易懂,就是纳闷,我的反汇编的代码为嘛不好复制出来呢,本来想自己写这篇文章的~~~ 这几天突然很想弄明白c函数调用时栈的使用情况,上网查了一下资料,自已也研究了一下,这篇blog就把我的所得记录下来吧。 这篇blog试图讲明当一个c函数被调用时,一个栈帧(stack frame)是如何被建立,又如何被消除的。这些转载 2014-09-20 14:31:22 · 644 阅读 · 0 评论 -
sizeof计算栈中分配的大小
#include using namespace std; class A1 { public: int a; static int b; A1(); ~A1(); }; class A2{ public : int a; char c; A2(); ~A2(); }; class A3{ public: float a; char c; A3(); ~转载 2014-08-19 15:06:57 · 1092 阅读 · 0 评论 -
sizeof和sizeof(string)的问题
文章出自:http://www.cnblogs.com/wanghetao/archive/2012/04/04/2431760.html sizeof和sizeof(string)的问题 今天看《程序员面试宝典》一书(为了应付将要到来的微软笔试),看到了sizeof(string)这个问题。在Dev C++上测试的结果是4,很不明白。上网搜了一下,得到如下结果: str转载 2014-08-19 15:24:00 · 634 阅读 · 0 评论