fbpx
  1. borlotto
  2. Ingegneria Informatica - Triennale
  3. Martedì, 26 Ottobre 2004
  4.  Subscribe via email
Qualcuno sa spiegarmi questo codice?


main(int argc,char** argv,char** envp){
while(*envp)
printf("%s\n",*envp++);
}


Quello che non capisco è per quale ragione effettui l'incremento ++ in quel modo. La dereferenziazione la esegue dopo l'incremento e qui ci sono. Ma perché si sposta di un solo byte all'interno dell'array di puntatori per passare all'elemento successivo??? Non avrebbe dovuto fare *(envp+sizeof(char *))?? In quel modo la mia ignoranza mi porta a dire che se envp puntava al primo elemento dell'array di puntatori, sommandovi 1 si dovrebbe ritrovare diciamo in mezzo al primo elemento, e non all'inizio del secondo....qualcuno sa dirmi se il compilatore si inventa qualcosa di strano in questi casi, del genere adattare l'operatore ++ al tipo di dato?? :roll:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
dovrebbe essere algebra dei puntatori, cioe' prima incrementa il puntatore ( e l'algebra dei puntatori dice che facendo +1 incrementa di sizeof(tipo dato) e non di un byte) e solo dopo dereferenzia il puntatore....almeno credo....puo' anche essere che ti ho detto cavolate....
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
E' come dice frog831, il ++ indica di passare al prossimo puntatore...
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
E' come dice frog831, il ++ indica di passare al prossimo puntatore...

Esatto... su un puntatore ++ è uguale a + sizeof(tipo)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Grazie a tutti :wink:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
E di che! ;)
Visto che ci sei... mi ricordi cosa rappresenta il terzo parametro del main (char* envp[])?
Io ho sempre utilizzato solo due parametri... argv e argc...
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Contiene le variabili d'ambiente che gli passa il sistema operativo.
Io l'ho scoperto oggi :oops: :lol:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Per completezza: l'ultimo elemento dell'array è NULL.
(Ma abilitare l'edit dei post!?!?!? :x :x :x )
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Per completezza: l'ultimo elemento dell'array è NULL.
(Ma abilitare l'edit dei post!?!?!? :x :x :x )


Questo è l'unico form nel mondo della rete che non ha un admin!
Che tristezza.... :cry:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Si sono le variabili di ambiente, l'ho trovato guardando qua e là...già che ci siamo potete dirmi come vi state preparando??Io ho studicchiato le dispense fino a quel capitoletto sui processi e lo scheduling ma mi pare di leggere un inserto di "programmi per il mio computer" :evil: Sta seguendo la tabella di marcia o ha intenzione di andare oltre prima dell'esonero?Ora mi sono messo a scrivere un pò di programmini con chiamate di sistema varie,e chiaramente ho dovuto cercare su internet per non limitarmi a quelle stron**te su open,write e read.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Di chi parli, di Bovet o di Vitale?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
già che ci siamo potete dirmi come vi state preparando??Io ho studicchiato le dispense fino a quel capitoletto sui processi e lo scheduling ma mi pare di leggere un inserto di "programmi per il mio computer" :evil:


Infonde un po' di amarezza il tutto...in effetti più si avvicina l'esonero e più non so cosa aspettarmi.
Sto cercando di non adagiarmi sul fatto che pare tutto così facile e discorsivo, ma è difficile. Temo la mazzata inaspettata.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
scusate non ho detto che seguo con vitale :cry:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Nah, io sono conscio che arriverà la batosta, non è per niente inaspettata... tipi come vitale posso creare seri problemi...
Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this post yet.
Be one of the first to reply to this post!