intptr_t问题
笔试时遇到:
系统为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

浙公网安备 33010602011771号