buon giorno la prossima settimana devo svolgere un'esame di sistemi oprativi,in cui è integrata anche una piccola parte di linguaggio C .....premessa io so programmare in java,il linguaggio C è abbastanza simile togliendo qualche struttura e altre differenze...ma quello che nn riesco ancora a capire sono sti maledetti puntatori!!!!! qui di seguito vi riporto un esercizio sui puntatori cn soluzione a fianco,e se qualcuno di voi mi può spiegare sti puntatori una volta per tutte (anche quelli con doppio asterisco) e mi può spiegare xkè nell'esercizio si ottiengono i risultati riportati a fianco nel commento...un grazie in anticipo
ESERCIZIO 1 (4 punti)
Inserire nei commenti l’output delle istruzioni printf(), immaginando che la funzione
print_ar() stampi il contenuto di tutti gli elementi dell’array:
int int_ar[] = {12,3,5,2};
int *ip, *jp, **kpp;
ip = jp = &int_ar[0];
kpp = &ip;
(*kpp)++;
printf("**kpp = %d\n", **kpp); //____**kpp = 3_______
printf("*++ip = %d\n", *++ip); //____*++ip = 5_______
printf("**kpp = %d\n", **kpp); //____**kpp = 5_______
print_ar(int_ar,4); //____ 12 3 5 2_______
(*(*kpp-1))/=3;
printf("*(*kpp-1) = %d\n", *(*kpp-1)); //____*(*kpp-1) = 1___
print_ar(int_ar,4); //____ 12 1 5 2_______
++jp;
*jp = (**kpp)/2;
printf("**kpp = %d\n", **kpp); //____**kpp = 5_______
printf("*jp = %d\n", *jp); //____*jp = 2_________