Puntatori
alle abbiamo
variabili
Fino accedere il
ad loro
usato
ora per sempre nome .
, che
identificata
Ogni variabile binario
di la
anche
può indirizzo memoria
dal n u m e ro
essere ovvero
suo un
,
nella memoria
localizza
:¥÷
{ G)
: di
variabile
che
dice alla
si
nomi vari
punta
p
indirizzi indirizzo 1000
10
lo
p MEMORIA variabile di
indirizzo
Dobbiamo che
puntatore contiene memoria
ovvero
u s a re una
un un
, .
variabile
Dichiarazione puntatore
di :
una
*
tipo nome ;
p è
dell'
tipo che nella
elemento cella
è
indirizzo
di il
memoria cui
variabile
nella nome
es : *
II tipo
vari dichiaro di ad
puntatore
int punt variabile intero
; una
;
3
vari ;
= .LA
Inizializzazione
& vari
punt ;
= ↳ indirizzo
di
operatore
commerciale
e , ÷
la
posso variabile puntatore .
u s a re per .
accedere di
al vari
contenuto .
operazioni
l'
Per di depenalizzazione
farlo devo eseguire
, *
dereflrenze.am auto con
o .
,
* punt 7
7 vari
>
; ⇐ =
=
- indirizzo
accedi inserisci
punt
di 7
alla memoria
cella
ovvero con e .
# -
. i.EE
- vent
{
1)
main
int ÷
2
int mare non ;
,
* punt
int ;
punt & 2
non ;
= "
d
" )
%
( &
scanf Vanz ;
,
"
Tod )
"
( punt
swang ;
, .
"
" d
( )
%
printf non 2 ;
,
" *
" )
Yod
(
printf punt ;
,
( " " ) ciò
punt stampa
top
printf ; →
, punt
dentro
è
che c'
2
2 non no
van ;
= -
* *
punt 5
punt + ;
=
Puntatore : *
tipo
dichiarato puntato nome ;
• &
inizializzato von
punt ;
con
• = * 5
punti
dlflreuiziaziane
devo fare
accedere al contenuto ;
es
per
• ,
solitamente inizializza NULL
variabile
dichiara puntatore il
quando poi
si si modificare
la per
a
una ,
,
valore quando serve .
vaid (
scambia )
int
int b ;
a }
, •
} scambia
)
(
int main b
;
l
scambia )
( ;
× y
,
i ' }
i ✗ main
return 0 ;
} 7
record
avveniva main
scambio
lo
Non nel .
Per i
problema puntatori
risolvere questo si usano .
,
li
stadio
include
# >
c . # )
#
(
void int b
scambia int a ;
,
{
main ()
int int ;
× y
, "
d
" );
&
d &
% To y
scones ( × i
,
, x
" temp
"
" )
d
Yod
printf ( % × ;
y scambia
, , ind b
y
( )
scambia 84 ;
& × , indi a
" " )
Tod
Tod
(
printf × y ;
,
, 4755
main
return 0 ;
} 74
58
}
# b)
*
Void scambia ( int
a
int , 74
55 VIDEO
temp
int ; 55
74
*
temp a ;
= *
* b
a ;
=
* b temp ;
=
} di
main indirettamente
variabili puntatore valore
restituire
Usando anche
più
al
possiamo un se .
,
, *
* )
tipo (
restituito tipo el
funzione tipo
al
nome ;
_
. , l'
contenuto
modificare
Nel della della di
il di
memoria devo
cella
funzione operazione
corpo usare
per
, ,
* )
(
derefeenzi
azione . (
di
chiamate )
di
l' indirizzo l' indirizzo
Nelle variabile &
operatore
una
passare
per uso .
, ,
?⃝ Problema restituisce
parametri
riceve
che due il minimo
il
numeri
sottoprogramma interi massimo
come e e .
li
col sottoprogramma
Scrivere calcola
interi
poi acquisisce minimo
programma che 2 massimo
un e e
,
stampa . stdio.li
include
# < > *
*
Void ( )
int
int b int min
int
maximin Max
a ;
,
,
,
}
int ( )
main
int mi ma ;
× y , ,
, " )
"
d d
%
( 84
ex
%
scones ;
, ,
( )
min &
✗ Mx
m a × & Mn
y ;
,
, ,
)
"
Yod
"
printf ( Lux ;
,
" );
d
"
(
printf to nun
,
return 0 ;
} [ min
ino
}
) une
☒
# int'
Void int
( m饤
b
maximin int
iuta uiu
max
,
, , "
"
" " " ""
"
"
" " " 15
* naaa ; 2
* b
min ;
=
} 2
main yg uex
{
elsa 15 y
* b
Max ;
=
* mia a ;
=
}
}
Variazione valore col return
potevo puntatore
con
uno
passare
: e
un un
}
"
(
Maximin int b
int )
int int
a max
, ,
{
b)
(
if a >
* Q massimo
; il puntatore
Max passo un
= con
→ ,
mentre
b minimo
il col
return lo return
; passo
} }
elsa * b
Max ;
=
return a ;
'
}
Nel main : ( )
b
Maximin & Mx
oe ;
mie = ,
,
di informazioni
passaggio
CHIAMANTE CHIAMATO
-ù
de
retour puntatori
che interi
sottoprogramma
Scriviamo restituisca
riceve quoziente
due resto
un e
e .
quoziente il
acquisisce due sottoprogramma
che
Scriviamo calcola usando
interi resto e
e
programma
un ,
i
stampa va
-
Programmazione - Spiegazione C++, Puntatori e liste, Java (base)
-
Appunti di Fondamenti di informatica sui puntatori
-
Programmazione in C++ : Programmi sulla costruzione di liste collegate (e puntatori)
-
Test uso puntatori a strutture