刚看到的,不会,请教
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++