#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)); // 4 printf("sizeof p = %zu\n", sizeof p
); // 8 printf("sizeof q = %zu\n", sizeof q
); // 8 printf("&a = %p\n", (void *)&a
); // 0x1000 printf("&p = %p\n", (void *)&p
); // 0x2000 printf("&q = %p\n", (void *)&q
); // 0x3000
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;
}
CiNpbmNsdWRlIDxzdGRpby5oPgoKaW50IG1haW4odm9pZCkKewogICAgaW50IGFbXSA9IHsxMCwgMjAsIDMwICw0MCwgNTB9OwogICAgaW50ICpwID0gYTsKICAgIGludCAoKnEpWzVdID0gJmE7CgogICAgcHJpbnRmKCJzaXplb2YoaW50KSA9ICV6dVxuIiwgc2l6ZW9mKGludCkpOyAvLyA0CiAgICBwcmludGYoInNpemVvZiBwID0gJXp1XG4iLCBzaXplb2YgcCk7IC8vIDgKICAgIHByaW50Zigic2l6ZW9mIHEgPSAlenVcbiIsIHNpemVvZiBxKTsgLy8gOAogICAgcHJpbnRmKCImYSA9ICVwXG4iLCAodm9pZCAqKSZhKTsgLy8gMHgxMDAwCiAgICBwcmludGYoIiZwID0gJXBcbiIsICh2b2lkICopJnApOyAvLyAweDIwMDAKICAgIHByaW50ZigiJnEgPSAlcFxuIiwgKHZvaWQgKikmcSk7IC8vIDB4MzAwMAoKICAgIHByaW50ZigiKmEgPSAlZFxuIiwgKmEpOwogICAgcHJpbnRmKCJhWzNdID0gJWRcbiIsIGFbM10pOwogICAgcHJpbnRmKCIqKGEgKyAzKSA9ICVkXG4iLCAqKGEgKyAzKSk7CiAgICBwcmludGYoIihhICsgMilbMV0gPSAlZFxuIiwgKGEgKyAyKVsxXSk7CiAgICBwcmludGYoIigxICsgYSlbMl0gPSAlZFxuIiwgKDEgKyBhKVsyXSk7CiAgICBwcmludGYoIiooMyArIGEpID0gJWRcbiIsICooMyArIGEpKTsKICAgIHByaW50ZigiM1thXSA9ICVkXG4iLCAzW2FdKTsKICAgIHByaW50ZigiMlthICsgMV0gPSAlZFxuIiwgMlthICsgMV0pOwoKICAgIHByaW50ZigiYSArIDEgPSAlcFxuIiwgKHZvaWQgKikoYSArIDEpKTsKICAgIHByaW50ZigiJmFbMV0gPSAlcFxuIiwgKHZvaWQgKikmYVsxXSk7CiAgICBwcmludGYoIiZhWzFdICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmYVsxXSArIDEpKTsKICAgIHByaW50ZigiJiphID0gJXBcbiIsICh2b2lkICopJiphKTsKICAgIHByaW50ZigiJiphICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKmEgKyAxKSk7CiAgICBwcmludGYoIiZhICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmYSArIDEpKTsKCiAgICBwcmludGYoIipwID0gJWRcbiIsICpwKTsKICAgIHByaW50ZigicFszXSA9ICVkXG4iLCBwWzNdKTsKICAgIHByaW50ZigiKihwICsgMykgPSAlZFxuIiwgKihwICsgMykpOwogICAgcHJpbnRmKCIocCArIDIpWzFdID0gJWRcbiIsIChwICsgMilbMV0pOwogICAgcHJpbnRmKCIoMSArIHApWzJdID0gJWRcbiIsICgxICsgcClbMl0pOwogICAgcHJpbnRmKCIqKDMgKyBwKSA9ICVkXG4iLCAqKDMgKyBwKSk7CiAgICBwcmludGYoIjNbcF0gPSAlZFxuIiwgM1twXSk7CiAgICBwcmludGYoIjJbcCArIDFdID0gJWRcbiIsIDJbcCArIDFdKTsKCiAgICBwcmludGYoInAgKyAxID0gJXBcbiIsICh2b2lkICopKHAgKyAxKSk7CiAgICBwcmludGYoIiZwWzFdID0gJXBcbiIsICh2b2lkICopJnBbMV0pOwogICAgcHJpbnRmKCImcFsxXSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJnBbMV0gKyAxKSk7CiAgICBwcmludGYoIiYqcCA9ICVwXG4iLCAodm9pZCAqKSYqcCk7CiAgICBwcmludGYoIiYqcCArIDEgPSAlcFxuIiwgKHZvaWQgKikoJipwICsgMSkpOwogICAgcHJpbnRmKCImcCArIDEgPSAlcFxuIiwgKHZvaWQgKikoJnAgKyAxKSk7CgogICAgcHJpbnRmKCIqKnEgPSAlZFxuIiwgKipxKTsKICAgIHByaW50ZigiKCpxKVszXSA9ICVkXG4iLCAoKnEpWzNdKTsKICAgIHByaW50ZigiKigqcSArIDMpID0gJWRcbiIsICooKnEgKyAzKSk7CiAgICBwcmludGYoIigqcSArIDIpWzFdID0gJWRcbiIsICgqcSArIDIpWzFdKTsKICAgIHByaW50ZigiKDEgKyAqcSlbMl0gPSAlZFxuIiwgKDEgKyAqcSlbMl0pOwogICAgcHJpbnRmKCIqKDMgKyAqcSkgPSAlZFxuIiwgKigzICsgKnEpKTsKICAgIHByaW50ZigiM1sqcV0gPSAlZFxuIiwgM1sqcV0pOwogICAgcHJpbnRmKCIyWypxICsgMV0gPSAlZFxuIiwgMlsqcSArIDFdKTsKCiAgICBwcmludGYoIipxICsgMSA9ICVwXG4iLCAodm9pZCAqKSgqcSArIDEpKTsKICAgIHByaW50ZigiJigqcSlbMV0gPSAlcFxuIiwgKHZvaWQgKikmKCpxKVsxXSk7CiAgICBwcmludGYoIiYoKnEpWzFdICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKCpxKVsxXSArIDEpKTsKICAgIHByaW50ZigiJioqcSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJioqcSArIDEpKTsKICAgIHByaW50ZigiJipxICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKnEgKyAxKSk7CiAgICBwcmludGYoIiZxICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmcSArIDEpKTsKCiAgICByZXR1cm4gMDsKfQo=