Tag: 另外

C指针上的一元加法如何工作?

我知道一元运算符++将一个加到一个数字上。 但是,我发现如果我在一个int指针上执行它,它会增加4(我的系统上的int的sizeof)。 为什么这样做? 例如,以下代码: int main(void) { int *a = malloc(5 * sizeof(int)); a[0] = 42; a[1] = 42; a[2] = 42; a[3] = 42; a[4] = 42; printf(“%p\n”, a); printf(“%p\n”, ++a); printf(“%p\n”, ++a); return 0; } 将返回三个数字,每个数字之间相差4。