単項演算子++が数値に1を加算することを私は知っています。ただし、intポインターで実行すると、4(システム上のintのサイズ)だけ増加することがわかりました。なぜこれを行うのですか?たとえば、次のコードです。
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の差がある3つの数値を返します。