Estratto del documento

Puntatori

Puntatori: alle variabili. Fino ad ora, per accedere al loro valore, abbiamo usato sempre il nome. Ogni variabile può essere identificata anche dall’indirizzo memoria, ovvero un numero binario che localizza nella memoria la variabile: ¥÷{ G): dice alla variabile sinonimi vari puntap indirizzi indirizzo 100010lop memoria variabile di indirizzo. Dobbiamo usare una variabile puntatore, ovvero una variabile che contiene un indirizzo di memoria.

Dichiarazione di una variabile puntatore

Dichiarazione di una variabile puntatore: *tipo nome;

p è dell’tipo che nella cella è indirizzo di memoria cui variabile nella nome. Es.: *II tipo vari dichiaro di ad puntatore int punt variabile intero; una; 3 vari; =.

Inizializzazione: & varipunt; = ↳ indirizzo di operatore commerciale e, posso usare la variabile puntatore per accedere al contenuto di vari. Per farlo devo eseguire operazioni di depenalizzazione, *dereflrenze. am auto cono. ,* punt 77 vari >; ⇐ ==- indirizzo accedi inserisci punt di 7 alla memoria cella ovvero con e.

Esempio con puntatore

# -. i.EE- vent{1) main int ÷2 int mare non;,* punt int; punt & 2 non; = "d" )%( &scanf Vanz; ,"Tod )"( puntswang; , ."" d( )% printf non 2; ," *" )Yod(printf punt; ,( " " ) ciò punt stampato pprintf; →, punt dentro è che c'22 non novan; = -* *punt 5punt +; =

Regole per il puntatore

Puntatore: *tipo dichiarato puntato nome;

  • & inizializzato vonpunt; con
  • = * 5puntidlflreuiziaziane devo fare accedere al contenuto; esper
  • Solitamente inizializza NULL variabile dichiara puntatore il quando poi si modifica per a una, valore quando serve.

Scambio di valori

vaid (scambia) int int b; a }, •} scambia)(int main b; lscambia)(; × y,i ' }i ✗ main return 0;} 7 record avveniva main scambio lo Non nel. Per il problema puntatori risolvere questo si usano.

listadio include# >c. # )#(void int b scambia int a;,{main () int int; × y, "d" );&d &% To yscones ( × i,, x" temp"" )dYodprintf ( % ×; y scambia, , ind by( )scambia 84; & ×, ind i a" " )TodTod(printf × y;,, 4755 main return 0;} 7458}# b)*Void scambia ( intaint, 7455 VIDEO temp int; 5574 *temp a; = ** ba; =* b temp; =}

Restituire più valori

Di main indirettamente variabili puntatore valore restituire usando anche più al possiamo un se. ,, ** )tipo (restituito tipo elfunzione tipo al nome; _. , l' contenuto modificare Nel della della di il di memoria devo cella funzione operazione corpo usare per, ,* )(derefeenziazione. (di chiamate) di l' indirizzo l' indirizzo. Nelle variabile & operatore una passare per uso. , ,?

Problema: minimo e massimo

⃝ Problema restituisce parametri riceve che due il minimo il numeri sottoprogramma interi massimo come e e. lico l sottoprogramma Scrivere calcola interi poi acquisisce minimo programma che 2 massimo un e e, stampa.

stdio.li include# < > **Void ( )int int b int minintmaximin Maxa;,,,} int ( )main int mi ma; × y, ,, " )"d d%( 84ex%scones; , ,( )min &✗ Mxm a × & Mny; ,, ,)"Yod"printf ( Lux; ," );d"(printf to nun, return 0;} [ minino}) une☒# int'Void int( mÈ•§bmaximin intiuta uiumax,, , """ " " """"" " " 15* naaa; 2* bmin; =} 2main yg uex{elsa 15 y* bMax; =* mia a; =}}

Variazione valore col return

Variazione valore col return potevo con un puntatore passare: e un un}"(Maximin int bint )int inta max, ,{b)(if a >* Q massimo; il puntatore Max passo un = con →, mentre b minimo il col return lo return; passo} }elsa * bMax; =return a; '}

Nel main: ( )bMaximin & Mxoe; mie = ,, di informazioni passaggio CHIAMANTE CHIAMATO -ù de retour puntatori che interi sottoprogramma Scriviamo restituisca quoziente due resto un e e. quoziente il acquisisce due sottoprogramma che Scriviamo calcola usando interi resto e e programma un, stampa va

Anteprima
Vedrai una selezione di 4 pagine su 14
Puntatori in C Pag. 1 Puntatori in C Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Puntatori in C Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Puntatori in C Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher kevinziroldi di informazioni apprese con la frequenza delle lezioni di Fondamenti di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Mirandola Raffaela.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community