空指针寻址
#include <stdio.h>#include <stdlib.h>
int main()
{
int num={1,2,3};
void* ptr=num;
ptr=ptr+sizeof(int);
printf("%d",*(int*)ptr);
return 0;
}
是不是空指针++默认为加一个字节长度? 我记得 vs 不允许对 void 指针++
gcc 可以++,是加一个字节
如果你要代码可移植,那就把void *转成unsigned char *然后++肯定没问题
页:
[1]