Ciao a tutti
ho bisogno di una mano per capire per bene cosa vogliono dire determinate scritture che ho trovato in alcuni codici.
ecco un esempio
una delle domande sul esercizio è:codice:#include <stdio.h> int f(int a[], int *b){ if (*b == 0) return 0; else { if (*(a+*b) > *b) *a = *b; (*b)--; return (*a); } } main() { int e[3] = {2, 2, 2}; int v = 2; int c = f(e,&v); printf("%d\n",c); printf("%d %d %d\n", e[0], e[1], e[2]); }
Le scritture *(a+*b) e a[*(b)] sono equivalenti tra di loro?
su un altro esempio mi chiede se invece *(a+b)=a[(*b)] sono equivalenti fra loro.
Il concetto dei puntatori è chiaro ma queste due scritture sono a me sconosciute -> *(a+*b) e *(a+b)
quali differenza ci stanno? cosa significano? che valori assumono?
grazie mille per l aiuto

Rispondi quotando