对于结构体对象在内存中分配地址的顺序及其占内存大小的疑问
2012-06-19 09:21
423 查看
对于结构体对象在内存中分配地址的顺序及其占内存大小的疑问?
对本程序的运行结果不太明白,如下:
图一:
图二:
#include <iostream> using namespace std; struct NODE { NODE* pn; int value; }; NODE node1,node2;//全局区(运行结果为图二),区别于下面的栈区 //1、结构体对象不按定义顺序存放,堆? //2、去掉对ps的定以后,node1、node2所占内存变小? int main() { //NODE node1,node2;//栈区(运行结果为图一) node1.value = 1; node2.value = 2; cout << "&node1 :" << &node1 << ", " <<& node1.pn << endl; cout << "&node2 :" << &node2 << ", " << &node2.pn << endl; //cout << "&ps :" << &ps << endl; return 0; }
对本程序的运行结果不太明白,如下:
图一:
图二:
相关文章推荐
- 对于结构体,什么时候分配内存以及为什么选择用malloc函数来分配结构体变量的地址
- C语言,内存对齐,内存分配,地址操作,结构体(二)
- 使用计算总内存大小的方法确定jvm中为对象分配的存储空间大小
- java创建对象内存分配空间及其原理一
- C语言之struct大小、首地址与内存对齐—由结构体成员地址得到结构体首地址
- 指针(内存大小和数据类型无关,和系统操作位数有关),对象,地址,和系统操作位数的关系
- C语言结构体变量内存分配与地址对齐
- 关于C++中结构体及其指针成员的内存分配和释放
- C++ 对象内存布局及其大小
- union struct的内存分配方式及其sizeof大小
- 数据结构 学习笔记之:结构体及其所定义变量的内存分配的问题
- 用calloc分配10块大小为4字节的内存空间,打印指针地址,并且打印出内存中的内容
- 指针组合(如指针数组)的区分及其结构体内存大小的计算
- c++中类对象分配内存大小与虚继承的一些问题
- C语言数据类型大小和结构体中变量的地址分配方法【整理】
- C语言,内存对齐,内存分配,地址操作,结构体(一)
- 新建String对象分配内存地址区分
- __attribute__((packed))结构体的成员地址顺序及大小问题
- 如何查看Java对象占用JVM内存大小
- java基础学习-java常用对象的内存占用大小