AN Fondam98 Puntatori Azioni e procedure Assegnamenti, indirizzi e puntatori.

Slides:



Advertisements
Presentazioni simili
Puntatori Linguaggio C.
Advertisements

Funzioni In C++ le funzioni sono caratterizzate da un nome, dal tipo della variabile ritornata e da una lista di parametri (opzionali) La lista dei parametri.
Uso avanzato di C.
Puntatori in C e C++.
Costruttori e Distruttori
PUNTATORI Introduzione
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 4 Aprile 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e Puntatori Marco D. Santambrogio – Ver. aggiornata al 18 Marzo 2013.
Allocazione dinamica della memoria
Laboratorio di Linguaggi lezione VI: puntatori 2/3 Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Corso di Informatica Applicata Lezione 6
Esercizi su alberi binari
Puntatori - Cenni Nicola Fanizzi Corso di Programmazione C.d.L. in Informatica DIB - Università degli Studi di Bari.
1 laboratorio di calcolo II AA 2003/04 terza settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
1 laboratorio di calcolo II AA 2003/04 seconda settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Algoritmi e Programmazione Avanzata
Le funzioni a tempo di esecuzione
AN FI Un denominatoe comune Comandi u notazioni che esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno.
AN FI Array Array in Java. AN FI Array Dichiarazione di array in Java [ ]; //oppure u [] ; int a[]; int[] a; u La dimensione non è specificata.
AN Fondam98 Sorting Ricerca in un vettore ordinato.
PUNTATORI Un puntatore è una variabile destinata a contenere lindirizzo di unaltra variabile Vincolo di tipo: un puntatore a T può contenere solo lindirizzo.
FUNZIONI... Una funzione permette di dare un nome a una espressione rendendola parametrica float f(){ return * sin(0.75); } float f1(int x) { return.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1.
C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Puntatori e gestione dinamica della memoria
Unità Didattica 3 Linguaggio C
Sintassi base e struttura di un programma
Passaggio di parametri per indirizzo
C. Gaibisso Programmazione di Calcolatori Lezione XVI Allocazione dinamica della memoria Programmazione di Calcolatori: allocazione dinamica della memoria.
2000 Prentice Hall, Inc. All rights reserved. Capitolo 7 (Deitel) I puntatori Sommario Introduzione Dichiarare e inizializzare i puntatori.
I nomi in Java F. Bombi 18 novembre novembre 2003.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Il linguaggio C Puntatori e dintorni.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
1. 2 Variabili statiche e dinamiche Un programma è un processo in esecuzione a cui il sistema operativo assegna una certa zona di memoria. Tale zona può.
1 novembre I nomi in Java F. Bombi 1 novembre 2002.
Vettori, indirizzi e puntatori Finora abbiamo usato gli indirizzi nel chiamare  la funzione scanf()  le altre funzioni per riferimento Tuttavia la vera.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
1 Il linguaggio C Puntatori e dintorni. 2 Puntatori : idea di base In C è possibile conoscere e denotare l’indirizzo della cella di memoria in cui è memorizzata.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Programmazione in Java
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Marzo 2014.
Il linguaggio C Puntatori e dintorni.
Esercizi.
1 Laboratorio di Programmazione di Sistema - C Susanna Pelagatti Ricevimento: Me ,
FUNZIONI... Una funzione permette di  dare un nome a una espressione  rendendola parametrica float f(){ return * sin(0.75); } float f1(int x) {
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
Stringhe Una stringa è un vettore di char con un carattere costante \0 che indica la fine della stringa il terminatore rende differenti gli array di char.
Puntatori in C Un puntatore è una variabile che contiene un indirizzo di memoria. Quando una variabile contiene l’indirizzo di un’altra variabile, si dice.
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
Process synchronization
Programmazione e Laboratorio di Programmazione
Process synchronization
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

AN Fondam98 Puntatori Azioni e procedure Assegnamenti, indirizzi e puntatori

AN Fondam98 Puntatori Una procedura senza effetti void f( int x, int y){ int z=x; x = y; y = z; } int a=3; int b=4; f(a,b); 3 a 4 b

AN Fondam98 Puntatori C / Java x=y copia il valore 4 nella cella di indirizzo che contiene la copia di a 3 a 4 b 3 x 4 y

AN Fondam98 Puntatori Una procedura che scambia void f( int x[]){ int z=x[0]; x[0] = x[1]; x[1] = z; } int[] a={3,4}; f(a); //a e cambiato 3 a 4

AN Fondam98 Puntatori Java a 4 3 a[0] a[1] x x[0] = x[1]; copia il valore 4 nella cella di indirizzo

AN Fondam98 Puntatori C 3 a 4 x x[0] = x[1]; copia il valore 4 nella cella di indirizzo

AN Fondam98 Puntatori Gli operatori & e * del C int x = 3; x = x; R-value L-value &x&x *(&x)

AN Fondam98 Puntatori Gli operatori & e * del C int x = 3; Lassegnamento *&x = *&x+1; equivale a x = x+1;

AN Fondam98 Puntatori Puntatori in C int* x; la variabile x e un puntatore, destinata ad avere come r-value lindirizzo di una cella di memoria

AN Fondam98 Puntatori Puntatori in C int* x; int y = 4; x = &y; x 4 y

AN Fondam98 Puntatori Puntatori in C int* x; int y = 4; x = &y; x 4 y R-value di x = L-value di x = R-value di *x = 4 L-value di *x =

AN Fondam98 Puntatori Operazioni sui puntatori u Assegnamento di valori (compatibili) –espressi come indirizzi di variabili –espressi come valori di puntatori –espresso come NULL (#include ) u Applicazione delloperatore * (dereferenziamento) u Confronti con valori di altri puntatori u Operazioni + e -

AN Fondam98 Puntatori Puntatori e type system int x = 3; double y = 3.0; int* px = &x; double* py = &y; int* q; q = px; //ok q = py; u Warning: assignment from incompatible pointer type

AN Fondam98 Puntatori Puntatori e type system int x = 3; double y = 3.0; int* px = &x; double* py = &y; int* q; *px= *py = 5.4; //ok cambiano i valori associati a y e a x u x vale 5

AN Fondam98 Puntatori La procedura swap (in C) void swap( int* x, int* y){ int z = *x; *x = *y; *y = z; } int a=3; int b=4; swap(&a,&b);

AN Fondam98 Puntatori C *x = *y copia il valore 4 nella cella di indirizzo ottenuto come l-value di *x 3 a 4 b x y