69,372
社区成员
发帖
与我相关
我的任务
分享
原楼主是对的,如果书上是这么说的,书上确实错了。
应该是5倍
这本书公司有买,我没有看!
无代码,无真相,有代码,有真相
[code=C/C++]
#include <stdio.h>
int main(void)
{
int apricot[2][3][5];
int (*p)[3][5]=apricot;
int (*r)[5]=apricot[0];
int *t=apricot[0][0];
int u=apricot[0][0][0];
int (*r2)[5]=apricot[0];
int *t2=apricot[0][0];
char *r3, *r4;
char *t3, *t4;
r2++; t2++;
r3 = (char *)r;
r4 = (char *)r2;
t3 = (char *)t;
t4 = (char *)t2;
printf("r =%p r2=%p r2 - r =%d\n", r , r2, (int)(r2 - r ));
printf("r3=%p r4=%p r4 - r3=%d\n", r3, r4, (int)(r4 - r3));
printf("t =%p t2=%p t2 - t =%d\n", t , t2, (int)(t2 - t ));
printf("t3=%p t4=%p t4 - t3=%d\n", t3, t4, (int)(t4 - t3));
}
/*
输出结果:
r =0023FEB0 r2=0023FEC4 r2 - r =1
r3=0023FEB0 r4=0023FEC4 r4 - r3=20
t =0023FEB0 t2=0023FEB4 t2 - t =1
t3=0023FEB0 t4=0023FEB4 t4 - t3=4
编译器gcc 4.4.1:
E:\mymtom\src>gcc -v
Using built-in specs.
Target: mingw32
Configured with: ../../gcc-4.4.1/configure --prefix=/mingw --build=mingw32 --ena
ble-languages=c,ada,c++,fortran,objc,obj-c++ --disable-nls --disable-win32-regis
try --enable-libgomp --enable-cxx-flags='-fno-function-sections -fno-data-sectio
ns' --disable-werror --enable-threads --disable-symvers --enable-version-specifi
c-runtime-libs --enable-fully-dynamic-string --with-pkgversion='TDM-2 mingw32' -
-enable-sjlj-exceptions --with-bugurl=http://www.tdragon.net/recentgcc/bugs.php
Thread model: win32
gcc version 4.4.1 (TDM-2 mingw32)
*/