#include <stdio.h>
int main(void)
{
int a[] = {10, 20, 30 ,40, 50};
int *p = a;
int (*q)[5] = &a;
printf("sizeof(int) = %zu\n", sizeof(int)); printf("sizeof p = %zu\n", sizeof p
); printf("sizeof q = %zu\n", sizeof q
); printf("&a = %p\n", (void *)&a
); printf("&p = %p\n", (void *)&p
); printf("&q = %p\n", (void *)&q
);
printf("*(a + 3) = %d\n", *(a
+ 3)); printf("(a + 2)[1] = %d\n", (a
+ 2)[1]); printf("(1 + a)[2] = %d\n", (1 + a
)[2]); printf("*(3 + a) = %d\n", *(3 + a
)); printf("2[a + 1] = %d\n", 2[a
+ 1]);
printf("a + 1 = %p\n", (void *)(a
+ 1)); printf("&a[1] = %p\n", (void *)&a
[1]); printf("&a[1] + 1 = %p\n", (void *)(&a
[1] + 1)); printf("&*a = %p\n", (void *)&*a
); printf("&*a + 1 = %p\n", (void *)(&*a
+ 1)); printf("&a + 1 = %p\n", (void *)(&a
+ 1));
printf("*(p + 3) = %d\n", *(p
+ 3)); printf("(p + 2)[1] = %d\n", (p
+ 2)[1]); printf("(1 + p)[2] = %d\n", (1 + p
)[2]); printf("*(3 + p) = %d\n", *(3 + p
)); printf("2[p + 1] = %d\n", 2[p
+ 1]);
printf("p + 1 = %p\n", (void *)(p
+ 1)); printf("&p[1] = %p\n", (void *)&p
[1]); printf("&p[1] + 1 = %p\n", (void *)(&p
[1] + 1)); printf("&*p = %p\n", (void *)&*p
); printf("&*p + 1 = %p\n", (void *)(&*p
+ 1)); printf("&p + 1 = %p\n", (void *)(&p
+ 1));
printf("(*q)[3] = %d\n", (*q
)[3]); printf("*(*q + 3) = %d\n", *(*q
+ 3)); printf("(*q + 2)[1] = %d\n", (*q
+ 2)[1]); printf("(1 + *q)[2] = %d\n", (1 + *q
)[2]); printf("*(3 + *q) = %d\n", *(3 + *q
)); printf("3[*q] = %d\n", 3[*q
]); printf("2[*q + 1] = %d\n", 2[*q
+ 1]);
printf("*q + 1 = %p\n", (void *)(*q
+ 1)); printf("&(*q)[1] = %p\n", (void *)&(*q
)[1]); printf("&(*q)[1] + 1 = %p\n", (void *)(&(*q
)[1] + 1)); printf("&**q + 1 = %p\n", (void *)(&**q
+ 1)); printf("&*q + 1 = %p\n", (void *)(&*q
+ 1)); printf("&q + 1 = %p\n", (void *)(&q
+ 1));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSAKewogaW50IGFbXSA9IHsxMCwgMjAsIDMwICw0MCwgNTB9OwogaW50ICpwID0gYTsKIGludCAoKnEpWzVdID0gJmE7CiAKIHByaW50Zigic2l6ZW9mKGludCkgPSAlenVcbiIsIHNpemVvZihpbnQpKTsKIHByaW50Zigic2l6ZW9mIHAgPSAlenVcbiIsIHNpemVvZiBwKTsKIHByaW50Zigic2l6ZW9mIHEgPSAlenVcbiIsIHNpemVvZiBxKTsKIHByaW50ZigiJmEgPSAlcFxuIiwgKHZvaWQgKikmYSk7CiBwcmludGYoIiZwID0gJXBcbiIsICh2b2lkICopJnApOwogcHJpbnRmKCImcSA9ICVwXG4iLCAodm9pZCAqKSZxKTsKCiBwcmludGYoIiphID0gJWRcbiIsICphKTsKIHByaW50ZigiYVszXSA9ICVkXG4iLCBhWzNdKTsKIHByaW50ZigiKihhICsgMykgPSAlZFxuIiwgKihhICsgMykpOwogcHJpbnRmKCIoYSArIDIpWzFdID0gJWRcbiIsIChhICsgMilbMV0pOwogcHJpbnRmKCIoMSArIGEpWzJdID0gJWRcbiIsICgxICsgYSlbMl0pOwogcHJpbnRmKCIqKDMgKyBhKSA9ICVkXG4iLCAqKDMgKyBhKSk7CiBwcmludGYoIjNbYV0gPSAlZFxuIiwgM1thXSk7CiBwcmludGYoIjJbYSArIDFdID0gJWRcbiIsIDJbYSArIDFdKTsKCiBwcmludGYoImEgKyAxID0gJXBcbiIsICh2b2lkICopKGEgKyAxKSk7CiBwcmludGYoIiZhWzFdID0gJXBcbiIsICh2b2lkICopJmFbMV0pOwogcHJpbnRmKCImYVsxXSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJmFbMV0gKyAxKSk7CiBwcmludGYoIiYqYSA9ICVwXG4iLCAodm9pZCAqKSYqYSk7CiBwcmludGYoIiYqYSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJiphICsgMSkpOwogcHJpbnRmKCImYSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJmEgKyAxKSk7CgogcHJpbnRmKCIqcCA9ICVkXG4iLCAqcCk7CiBwcmludGYoInBbM10gPSAlZFxuIiwgcFszXSk7CiBwcmludGYoIioocCArIDMpID0gJWRcbiIsICoocCArIDMpKTsKIHByaW50ZigiKHAgKyAyKVsxXSA9ICVkXG4iLCAocCArIDIpWzFdKTsKIHByaW50ZigiKDEgKyBwKVsyXSA9ICVkXG4iLCAoMSArIHApWzJdKTsgCiBwcmludGYoIiooMyArIHApID0gJWRcbiIsICooMyArIHApKTsKIHByaW50ZigiM1twXSA9ICVkXG4iLCAzW3BdKTsKIHByaW50ZigiMltwICsgMV0gPSAlZFxuIiwgMltwICsgMV0pOwoKIHByaW50ZigicCArIDEgPSAlcFxuIiwgKHZvaWQgKikocCArIDEpKTsKIHByaW50ZigiJnBbMV0gPSAlcFxuIiwgKHZvaWQgKikmcFsxXSk7CiBwcmludGYoIiZwWzFdICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmcFsxXSArIDEpKTsKIHByaW50ZigiJipwID0gJXBcbiIsICh2b2lkICopJipwKTsKIHByaW50ZigiJipwICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKnAgKyAxKSk7CiBwcmludGYoIiZwICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmcCArIDEpKTsKCiBwcmludGYoIioqcSA9ICVkXG4iLCAqKnEpOwogcHJpbnRmKCIoKnEpWzNdID0gJWRcbiIsICgqcSlbM10pOwogcHJpbnRmKCIqKCpxICsgMykgPSAlZFxuIiwgKigqcSArIDMpKTsKIHByaW50ZigiKCpxICsgMilbMV0gPSAlZFxuIiwgKCpxICsgMilbMV0pOwogcHJpbnRmKCIoMSArICpxKVsyXSA9ICVkXG4iLCAoMSArICpxKVsyXSk7CiBwcmludGYoIiooMyArICpxKSA9ICVkXG4iLCAqKDMgKyAqcSkpOwogcHJpbnRmKCIzWypxXSA9ICVkXG4iLCAzWypxXSk7CiBwcmludGYoIjJbKnEgKyAxXSA9ICVkXG4iLCAyWypxICsgMV0pOwoKIHByaW50ZigiKnEgKyAxID0gJXBcbiIsICh2b2lkICopKCpxICsgMSkpOwogcHJpbnRmKCImKCpxKVsxXSA9ICVwXG4iLCAodm9pZCAqKSYoKnEpWzFdKTsKIHByaW50ZigiJigqcSlbMV0gKyAxID0gJXBcbiIsICh2b2lkICopKCYoKnEpWzFdICsgMSkpOwogcHJpbnRmKCImKipxICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKipxICsgMSkpOwogcHJpbnRmKCImKnEgKyAxID0gJXBcbiIsICh2b2lkICopKCYqcSArIDEpKTsKIHByaW50ZigiJnEgKyAxID0gJXBcbiIsICh2b2lkICopKCZxICsgMSkpOwoKCXJldHVybiAwOwp9Cg==