double dArray[2] = {4, 8}, *p, *q;
p = &dArray[0];
q = p + 1;
int n= q - p ; //n=1 指针加减,跟类型有关
int m= (int)q - (int)p ;//m=8,指针的地址值进行加减,其实就是整数加减
int k=(char*)q - (char*)p ;//k=8
int j=(int*)q - (int*)p ; //j=2;
106: double dArray[2] = {4, 8}, *p, *q;
00401368 mov dword ptr [ebp-10h],0
0040136F mov dword ptr [ebp-0Ch],40100000h
00401376 mov dword ptr [ebp-8],0
0040137D mov dword ptr [ebp-4],40200000h
107: p = &dArray[0];
00401384 lea eax,[ebp-10h]
00401387 mov dword ptr [ebp-14h],eax
108: q = p + 1;
0040138A mov eax,dword ptr [ebp-14h]
0040138D add eax,8
00401390 mov dword ptr [ebp-18h],eax
109: int n= q - p ;
00401393 mov eax,dword ptr [ebp-18h]
00401396 sub eax,dword ptr [ebp-14h]
00401399 sar eax,3 //右移3位
0040139C mov dword ptr [ebp-1Ch],eax
110: int m= (int)q - (int)p ;
0040139F mov eax,dword ptr [ebp-18h]
004013A2 sub eax,dword ptr [ebp-14h]
004013A5 mov dword ptr [ebp-20h],eax
111: int k=(char*)q - (char*)p ;
004013A8 mov eax,dword ptr [ebp-18h]
004013AB sub eax,dword ptr [ebp-14h]
004013AE mov dword ptr [ebp-24h],eax
112: int j=(int*)q - (int*)p ;
004013B1 mov eax,dword ptr [ebp-18h]
004013B4 sub eax,dword ptr [ebp-14h]
004013B7 sar eax,2
004013BA mov dword ptr [ebp-28h],eax