标签: c pointers increment
在C(可能还有C ++)中:
int a[2]; a[0] = 1; a[1] = 2; int* ptr = (int*) a; printf("%d\n", *ptr); ptr++; printf("%d\n", *ptr);
您将看到指针增加了int的大小(由输出指示:
1 2
)。我希望它将指针增加一个,因此可以在两个int中间打印不同的值。
我的问题是:为什么这样做而不是像某人期望的那样将指针增加1?