由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个内存的问题
相关主题
问个简单的memory allocation 的问题。问个C++ virtual function的问题 (转载)
关于C++中一个Class的大小 (转载)问个指针array 的简单问题
问一个简单的C++问题问个BT问题 :)(c )
编译器如何分辨返回类型不同的函数?A try-catch problem in C++
这个在c++ const不变,不能用相同地址的变量改,咋做的a simple question for C++ class
请问这个C++程序有什么问题吗which func will be called?
问个char*的问题请问一个exception题目
问个程序问题reverse words, not the Microsoft one!!!
相关话题的讨论汇总
话题: endl话题: cout话题: int话题: address话题: 地址
进入Programming版参与讨论
1 (共1页)
x******g
发帖数: 41
1
void testAddressOf()
{
int a = 4;
int *b = &a;
int c = 5;
cout << "address of a: " << &a << endl;
cout << "address of &b " << &b << endl;
cout << "address of c: " << &c << endl;
}
三个地址分别是
0015F75C
0015F750
0015F744
整形不是4个字节么,为什么地址之间差距是0xC=12呢?
f******y
发帖数: 2971
2
没有要求说整型一定是4个,也没有要求说变量地址一定要相连。

【在 x******g 的大作中提到】
: void testAddressOf()
: {
: int a = 4;
: int *b = &a;
: int c = 5;
: cout << "address of a: " << &a << endl;
: cout << "address of &b " << &b << endl;
: cout << "address of c: " << &c << endl;
: }
: 三个地址分别是

x******g
发帖数: 41
3
再问问我的机器是32位的,整型应该是4bytes吧?
为什么连续分配的变量没顺着分配呢?
有什么特别的原因系统要这么做吗?谢谢。

【在 f******y 的大作中提到】
: 没有要求说整型一定是4个,也没有要求说变量地址一定要相连。
o********n
发帖数: 193
4
你那是debug编译的,编译器为每个Int在stack上分配了12个byte,另外8个空在那边不
知道干什么用。
你用release编译应该就是4字节的,变量要够多,如果变量不多的话编译器直接用寄存
器。
o********n
发帖数: 193
5
32位CPU整型一定是4个,连续定义的局部变量地址一定相连。

【在 f******y 的大作中提到】
: 没有要求说整型一定是4个,也没有要求说变量地址一定要相连。
f******y
发帖数: 2971
6
按照你这个理论,你来解释一下你自己观察到的事实吧。

【在 x******g 的大作中提到】
: 再问问我的机器是32位的,整型应该是4bytes吧?
: 为什么连续分配的变量没顺着分配呢?
: 有什么特别的原因系统要这么做吗?谢谢。

x******g
发帖数: 41
7
试过了,release是4个字节,多谢

【在 o********n 的大作中提到】
: 你那是debug编译的,编译器为每个Int在stack上分配了12个byte,另外8个空在那边不
: 知道干什么用。
: 你用release编译应该就是4字节的,变量要够多,如果变量不多的话编译器直接用寄存
: 器。

x******g
发帖数: 41
8
不知道所以才来问为啥编译器要这么做呀

【在 f******y 的大作中提到】
: 按照你这个理论,你来解释一下你自己观察到的事实吧。
1 (共1页)
进入Programming版参与讨论
相关主题
reverse words, not the Microsoft one!!!这个在c++ const不变,不能用相同地址的变量改,咋做的
about new operator请问这个C++程序有什么问题吗
C++里面问个char*的问题
两个继承问题问个程序问题
问个简单的memory allocation 的问题。问个C++ virtual function的问题 (转载)
关于C++中一个Class的大小 (转载)问个指针array 的简单问题
问一个简单的C++问题问个BT问题 :)(c )
编译器如何分辨返回类型不同的函数?A try-catch problem in C++
相关话题的讨论汇总
话题: endl话题: cout话题: int话题: address话题: 地址