Istituto Tecnico Industriale "Enrico Fermi"

Help On Chat

[Ritorna all'elenco sessioni]

Chat del 6 Aprile 2018 dalle 19:30:39 alle 20:11:30

Stefano Salvi
Buonasera a tutti (quelli che si connnettono). Cominciate pure.
Riccardo MIRANDOLA
Buona sera prof
Stefano Salvi
Buona sera!
Federico DI GIACOMO
Buonasera prof
Riccardo MIRANDOLA
Prof come si fa a puntare un puntatore a un vettore?
Stefano Salvi
Mirandola: Per esempio: int v[12]; int *p; p = v;
Federico DI GIACOMO
Un esercizio tipo sulle macro di stringhe e caratteri quale potrebbe essere se lo può dire?
Riccardo MIRANDOLA
E se invece volessi che il puntatore assumesse il valore di una qualsiasi cella del vettore
Stefano Salvi
Un esercixio che usi le macro per sapere se un carattere è maiuscolo, munuscolo, numerico, alfabetico, alfanumerico, oppure per trasformare un carattere in maiuscolo o in m,inuscolo.
Mirandola: int v[12]; int *p; p = &v[3]; oppure p = v+3;
Riccardo MIRANDOLA
Capito. Se io ad esempio scrivessi int v[12] int *p p=v[3] il puntatore punta alla cella 3 del vettore?
Stefano Salvi
Fine della storia? Basta così? Nessun\'altra domanda?
Dominique DONNICI
Buonasera, non mi è chiara una cosa dello switch case,devo dichiarare una variabile prima?
Una variabile che serve per il sapere il case da eseguire intendo
Stefano Salvi
Donnici: allo switch devi dornire un VALORE. Lo puoi fornire tramite una variabile (che ovviamente andrà precedentemente dichiarata ed inizializzata) oppure tramite una qualunque espressione matematica, anche che contenga chiamate a funzione.
Dominique DONNICI
Ah okey,grazie mille
Andrea POTITO
Buonasera prof, ma quando devo puntare a una matrice come faccio?
Riccardo MIRANDOLA
Prof se io quindi volessi puntare il puntatore non alla prima cella ma a una qualsiasi come faccio? E per spostarlo di n posti?
Diego LORENZI
Buonasera, nell\'esempio di Mirandola, come cambia se uso le funzioni? int terzoElemento(int *p) { return *p+3; } e nel main farei terzoElemento(v);
Stefano Salvi
Potito: un puntatore a una matrice è un puntatore a righe. Se lo incremento vado avanti di una riga. Ho problemi adesso però ad imbroccare al sintassi giusta per dichiararlo in forma di pntatore.
Andrea POTITO
Scusi prof, ma quindi come faccio?
Stefano Salvi
Mirandola: nell\'esempio che ti ho sritto prima, p puntava aòlla quarta cella del vettore. Se volessi spostarlo sull\'ottava basterebbe fare p+=4;
Riccardo MIRANDOLA
Ok, grazie
Stefano Salvi
Lorenzi: Cosa dever ritornare la funzione? Come l\'hai scritta ritorna il valore del primo elemento aumentato di 3. Forse volevi scrivere *(p+3), che ritorna il valore del quarto elemento?
Andrea POTITO
Prof, una domanda banale: ma quando ad esempio fa while(a--), quand\'è che termina il while?
Stefano Salvi
Potito: ho trovato la sintassi. int m[3][4]; int (*p)[4]; p = m; - questo sembra corretto. In questo caso (p+1) punterà alla seconda riga della matrice.
Diego LORENZI
Si grazie, come ha scritto lei, perchè nell\'esempio che stavo studiando c\'era questo passaggio che non mi era chiaro s -= *arr++; ora un po\' di più
Stefano Salvi
Potito: se scrivo int a=4; while(a--); il while termina quando a vale 0, quindi al quarto giro, ma prima di terminare decrementa ancora a e quindi all\'uscita del while avremo a = -1;
Federico DI GIACOMO
prof potrebbe caricare su moodle gli esempi che aveva scritto oggi alla prima ora?
Stefano Salvi
Ok. Quando abbiamo finito qui li carico.
Federico DI GIACOMO
Grazie
Dominique DONNICI
Quindi nelle matrici il puntatore va per righe e basta? Se dovessi puntare un elemento della seconda riga nella terza colonna?
Riccardo MIRANDOLA
Nell esempio che ha fatto a Potito(quello relativo alla matrice) p [] deve per forza avere tra le parentesi quadre un numero uguale al numero di colonne della matrice?
Stefano Salvi
Donnnici: se, nelle\'esempio di cui sopra, volessi ottenere il PUNTATORE al secondo elemento della terza riga potrei scrivere int *p2 = &(p+3)[2]; - con la sola matematica dei puntatori non viene... (almneo pare)
Dominique DONNICI
Capito grazie
Stefano Salvi
Mirandola: assolutamente si, in quanto p è un puntatore ad una RIGA e quindi deve contenere la dimensione della riga.
Donnici: ho trovato un\'altra strada... int *p2 = *(p+3)+2;
Riccardo MIRANDOLA
Ok, grazie
Dominique DONNICI
Va bene grazie
Stefano Salvi
Io direi di chiudere qui. Copio gli esempi di questamchat nel file e lo metto su Moodle.
Buona cena, buon riposo e in bocca al lupo.

[Ritorna all'elenco sessioni]