假設:
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