- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
// https://tio.run/##jY9PC4JAFMTv@ymGJHFjDc06WUEdugpd1YPomgu2in8oED@7WVpRh@jdZt7vDfNCPUwDeeo6oggZpnXEsS6rSGTzZEuIEvFYSI6D42g5QxbHJa8oogwNPIJ@8kLIKtYm06snJwxq7uoD5VO7R1pcEpFyzaDvsP3u@F/YjyzSgzgHQmoUzeP2bgSujw0ag8FkWDBYDEuGVWu/iFneA2rgWv7gjY@Z9FPWox6rml/yuS54VRcShk3arrsB
#include <stdio.h>
#define FOO(p, offset) do { \
printf("%x\n", &p[-offset]); \
} while(0)
#define BAR(p, offset) do { \
printf("%x\n", p[-offset]); \
} while(0)
int main() {
int a[] = {0, 1, 2, 3, 4, 5};
int *p = &a[3];
FOO(p, 1);
FOO(p, 1u);
BAR(p, 1);
BAR(p, 1u);
return 0;
}