笔试时遇到:
系统为32位时,代码结果:
int a=10;int *p=&a;int *k=p+1;printf("%ld\n",(intptr_t)k-(intptr_t)p);// 32 位系统还是 64 位系统,int
类型的大小都是 4 字节,因此结果相同。
intptr_t变量是为了增强不同位数系统之间的兼容性而添加的变量。32位为int型4字节,64位为long int型8字节。
参考文章:
https://www.cnblogs.com/dongxb/p/16441246.html