Poi*_*com 3 c pointers void-pointers
这段代码:
#include <stdio.h>
int main(void)
{
void *ptr;
int arr[] = {1,2,3,4,5};
ptr = arr;
ptr++;
printf("%d",*(int*)ptr);
}
Run Code Online (Sandbox Code Playgroud)
打印一些垃圾值,但我期待它打印2.为什么不打印2?
您无法对void指针执行指针运算,因为编译器不知道指向对象的大小.
您的代码无法在线上编译.我猜它是另一个邪恶的gcc扩展.