在C中,为什么递增指针会增加指针所指的类型的大小而不是1?

时间:2018-04-03 20:07:09

标签: 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?

0 个答案:

没有答案