#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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgogaW50IG1haW4odm9pZCkKIHsKIGludCBhW10gPSB7MTAsIDIwLCAzMCAsNDAsIDUwfTsKIGludCAqcCA9IGE7CiBpbnQgKCpxKVs1XSA9ICZhOwoKIHByaW50Zigic2l6ZW9mKGludCkgPSAlenVcbiIsIHNpemVvZihpbnQpKTsgLy8gNAogcHJpbnRmKCJzaXplb2YgcCA9ICV6dVxuIiwgc2l6ZW9mIHApOyAvLyA4CiBwcmludGYoInNpemVvZiBxID0gJXp1XG4iLCBzaXplb2YgcSk7IC8vIDgKIHByaW50ZigiJmEgPSAlcFxuIiwgKHZvaWQgKikmYSk7IC8vIDB4MTAwMAogcHJpbnRmKCImcCA9ICVwXG4iLCAodm9pZCAqKSZwKTsgLy8gMHgyMDAwCiBwcmludGYoIiZxID0gJXBcbiIsICh2b2lkICopJnEpOyAvLyAweDMwMDAKCiBwcmludGYoIiphID0gJWRcbiIsICphKTsKIHByaW50ZigiYVszXSA9ICVkXG4iLCBhWzNdKTsKIHByaW50ZigiKihhICsgMykgPSAlZFxuIiwgKihhICsgMykpOwogcHJpbnRmKCIoYSArIDIpWzFdID0gJWRcbiIsIChhICsgMilbMV0pOwogcHJpbnRmKCIoMSArIGEpWzJdID0gJWRcbiIsICgxICsgYSlbMl0pOwogcHJpbnRmKCIqKDMgKyBhKSA9ICVkXG4iLCAqKDMgKyBhKSk7CiBwcmludGYoIjNbYV0gPSAlZFxuIiwgM1thXSk7CiBwcmludGYoIjJbYSArIDFdID0gJWRcbiIsIDJbYSArIDFdKTsKCiBwcmludGYoImEgKyAxID0gJXBcbiIsICh2b2lkICopKGEgKyAxKSk7CiBwcmludGYoIiZhWzFdID0gJXBcbiIsICh2b2lkICopJmFbMV0pOwogcHJpbnRmKCImYVsxXSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJmFbMV0gKyAxKSk7CiBwcmludGYoIiYqYSA9ICVwXG4iLCAodm9pZCAqKSYqYSk7CiBwcmludGYoIiYqYSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJiphICsgMSkpOwogcHJpbnRmKCImYSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJmEgKyAxKSk7CgogcHJpbnRmKCIqcCA9ICVkXG4iLCAqcCk7CiBwcmludGYoInBbM10gPSAlZFxuIiwgcFszXSk7CiBwcmludGYoIioocCArIDMpID0gJWRcbiIsICoocCArIDMpKTsKIHByaW50ZigiKHAgKyAyKVsxXSA9ICVkXG4iLCAocCArIDIpWzFdKTsKIHByaW50ZigiKDEgKyBwKVsyXSA9ICVkXG4iLCAoMSArIHApWzJdKTsKCgoKIHByaW50ZigiKigzICsgcCkgPSAlZFxuIiwgKigzICsgcCkpOwogcHJpbnRmKCIzW3BdID0gJWRcbiIsIDNbcF0pOwogcHJpbnRmKCIyW3AgKyAxXSA9ICVkXG4iLCAyW3AgKyAxXSk7CgogcHJpbnRmKCJwICsgMSA9ICVwXG4iLCAodm9pZCAqKShwICsgMSkpOwogcHJpbnRmKCImcFsxXSA9ICVwXG4iLCAodm9pZCAqKSZwWzFdKTsKIHByaW50ZigiJnBbMV0gKyAxID0gJXBcbiIsICh2b2lkICopKCZwWzFdICsgMSkpOwogcHJpbnRmKCImKnAgPSAlcFxuIiwgKHZvaWQgKikmKnApOwogcHJpbnRmKCImKnAgKyAxID0gJXBcbiIsICh2b2lkICopKCYqcCArIDEpKTsKIHByaW50ZigiJnAgKyAxID0gJXBcbiIsICh2b2lkICopKCZwICsgMSkpOwoKIHByaW50ZigiKipxID0gJWRcbiIsICoqcSk7CiBwcmludGYoIigqcSlbM10gPSAlZFxuIiwgKCpxKVszXSk7CiBwcmludGYoIiooKnEgKyAzKSA9ICVkXG4iLCAqKCpxICsgMykpOwogcHJpbnRmKCIoKnEgKyAyKVsxXSA9ICVkXG4iLCAoKnEgKyAyKVsxXSk7CiBwcmludGYoIigxICsgKnEpWzJdID0gJWRcbiIsICgxICsgKnEpWzJdKTsKIHByaW50ZigiKigzICsgKnEpID0gJWRcbiIsICooMyArICpxKSk7CiBwcmludGYoIjNbKnFdID0gJWRcbiIsIDNbKnFdKTsKIHByaW50ZigiMlsqcSArIDFdID0gJWRcbiIsIDJbKnEgKyAxXSk7CiBwcmludGYoIipxICsgMSA9ICVwXG4iLCAodm9pZCAqKSgqcSArIDEpKTsKIHByaW50ZigiJigqcSlbMV0gPSAlcFxuIiwgKHZvaWQgKikmKCpxKVsxXSk7CiBwcmludGYoIiYoKnEpWzFdICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKCpxKVsxXSArIDEpKTsKIHByaW50ZigiJioqcSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJioqcSArIDEpKTsKIHByaW50ZigiJipxICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKnEgKyAxKSk7CiBwcmludGYoIiZxICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmcSArIDEpKTsKCiByZXR1cm4gMDsKfQ==