C/C++指针+1的计算

来源:互联网 发布:mac移动硬盘隐藏文件 编辑:程序博客网 时间:2024/05/21 14:06

刚写代码遇到了越界问题,发现是做指针运算的时候出了错。

int * xInt ;printf("[%d,%d]\n",xInt,xInt+1) ;
上面输出的结果中,二者的差值是4.即是说,在对指针做操作时,编译器做了处理(应该是。。。),不是加的1,而是sizeof(int)*1 ,如果自己再手动写上sizeof(int)*1的话,就成了加16了,这样就容易越界了。

0 0