首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

刚看到的,不会,请问

2012-03-03 
刚看到的,不会,请教classAAA{intacharb[5]shortcintd}AAA*pA0x10000000问1:pA+10?问2:(char*)pA+1

刚看到的,不会,请教
class   AAA  
{  
int   a;  
char   b[5];  
short   c;  
int   d;  
};  

AAA*   pA   =   0x10000000;  
问1:   pA   +   10=   ?  
问2:(char*)   pA   +   10   =   ?  
问3:   (int*)   pA   +   10   =   ?  




[解决办法]
AAA* pA = 0x10000000;
问1: pA + 10= pA + sizeof(AAA) * 10;
问2:(char*) pA + 10 = pA + sizeof(char) * 10;
问3: (int*) pA + 10 = pA + sizeof(int) * 10;

----------


[解决办法]
考指针加法运算的
class AAA
{
int a;
char b[5];
short c;
int d;
};

AAA* pA = 0x10000000;
问1: pA + 10= ?
问2:(char*) pA + 10 = ?
问3: (int*) pA + 10 = ?

pA+10等于0x10000000加上一个AAA对象占用内存空间的10倍( sizeof(AAA) * 10 )
(char*) pA + 10 = 0x10000000 + 10 * 1
(int*) pA + 10 = 0x10000000 + 10 * sizeof(int)
看来楼主刚学c++

热点排行