假设:
char* p1 = ( char* )100;
short* p2 = ( short* )p1++;
int* p3 = ( int* )p2++;
p3++;
请问:
p1 = ____________
p2 = ____________
p3 = ____________
p3 - ( int* )p1 = _____________
( char* )p3 - p1 = _____________
( short* )p3 - p2 = _____________
( char* )&p1[ -1 ] = _____________
这道题 char* p1 = ( char* )100;
就把P1这个地址的值赋成100
然后 short* p2 = ( short* )p1++;
先把P1转成short类型的指针赋值给p2 只是赋值的时候转 P1本身还是CHAR类型的指针 所以再P1++就变成了101
P2 现在是100 因为是SHORT 占两个字节 所以P2++就成了102
P3 也被赋值为100 P3++就成了104