/* Variante di puntatori.c -> curiosa aritmetica dei puntatori */ #include int main() { short int a=11, b=12, c=13, d=14, e=15; int A=21, B=22, C=23, D=24, E=25; float f1=3.1, f2=3.2, f3=3.3, f4=3.4, f5=3.5; double d1=31., d2=32., d3=33., d4=34., d5=35.; int *pA; pA = &A; int *pB; pB = &B; printf("a-e : %d, %d, %d, %d, %d\n", a,b,c,d,e); printf("A-E : %d, %d, %d, %d, %d\n",A,B,C,D,E); //printf("d1-d2 : %.1f, %.1f, %.1f, %.1f, %.1f\n",f1,f2,f3,f4,f5); //printf("d1-d2 : %.1f, %.1f, %.1f, %.1f, %.1f\n",d1,d2,d3,d4,d5); printf("Puntatori ad a-e:\n %p\n %p\n %p\n %p\n %p\n", &a,&b,&c,&d,&e); printf("Puntatori ad A-E:\n %p\n %p\n %p\n %p\n %p\n", &A,&B,&C,&D,&E); // printf("Puntatori a f1-f5:\n %p\n %p\n %p\n %p\n %p\n", &f1,&f2,&f3,&f4,&f5); // printf("Puntatori a d1-d5:\n %p\n %p\n %p\n %p\n %p\n", &d1,&d2,&d3,&d4,&d5); puts("\nvalore della variable a cui punta il puntatore"); printf("A-E : %d, %d, %d, %d, %d\n", *(&A),*(&B),*(&C),*(&D),*(&E)); puts("etc..."); puts("\nCuriosa aritmetica dei puntatori\n"); printf("*pA: %d; *(pA+4): %d; *(pA+1): %d; \n", *pA, *(pA+4), *(pA+1)); printf("\n pA: %p\n (pA+4): %p\n (pA+1): %p; \n", pA, (pA+4), (pA+1)); printf("\n pB : %p\n", pB); printf("\n pB - pA : %ld\n", pB - pA); return 0; }