Linguaggio C I puntatori

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Linguaggio C I puntatori"

Transcript

1 FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I puntatori 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 1

2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide Pierattoni, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. Gli autori non assumono alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 2

3 I puntatori in C: un concetto molto generale Un puntatore è una variabile che contiene l indirizzo di un altra variabile. 05FD 07C2 puntatore p p = &x; L operatore & fornisce l indirizzo di un oggetto y = *p; L operatore * accede all oggetto puntato 07C2 FFFF variabile intera x int *p; La variabile p è dichiarata puntatore ad intero 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 3

4 Cosa significa? double *dp; char *ch; dp è un puntatore a double ch è un puntatore a char *ip = *ip + 10; incrementa di 10 il dato puntato da ip ++*ip; (*ip)++; incrementano di 1 il dato puntato da ip *ip++;!!! incrementa di 1 il puntatore ip 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 4

5 Esempio int x = 5; int *ip; ip = &x; /* adesso *ip vale 5 */ *ip = 0; /* adesso *ip vale 0, e anche x */ 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 5

6 #include <stdio.h> #include <stdlib.h> int main() { int x; int *ip; Esempio x = 5; printf ("x = %d, &x = %x, ip = %x (casuale)\n", x, &x, ip); ip = &x; /* adesso *ip vale 5 */ printf ("x = %d, &x = %x, ip = %x\n", x, &x, ip); *ip = 0; /* adesso *ip vale 0, e anche x */ printf ("x = %d, &x = %x, ip = %x\n", x, &x, ip); } return EXIT_SUCCESS; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 6

7 Puntatori e argomenti di funzione Il C passa alle funzioni gli argomenti per valore (by value) La funzione chiamata non può modificare direttamente una variabile nella funzione chiamante (lavora sulle copie delle variabili) Dichiarare gli argomenti di una funzione come puntatori permette alla funzione chiamata di accedere agli oggetti all interno della funzione chiamante (passaggio di variabili by reference)... a b... px py Chiamante Chiamata 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 7

8 Puntatori e argomenti di funzioni SWAP: scambia i valori dei due argomenti NON FUNZIONA! swap (a, b); /* nel main */... void swap (int x, int y) { int temp; } temp = x; x = y; y = temp; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 8

9 Puntatori e argomenti di funzioni SWAP: scambia i valori dei due argomenti FUNZIONA! swap (&a, &b); /* nel main */... void swap (int *xp, int *yp) { int temp; } temp = *xp; *xp = *yp; *yp = temp; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 9

10 Aritmetica dei puntatori Operazioni possibili sui puntatori: incremento (il puntatore viene incrementato del numero di byte occupati dal tipo dell'oggetto puntato) somma con un intero (generalizzazione del caso precedente) confronto (se i due puntatori puntano a elementi dello stesso vettore) sottrazione (come sopra) assegnamento tra puntatori dello stesso tipo assegnamento e confronto con lo zero 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 10

11 Puntatori a funzioni In C è possibile settare una variabile puntatore come puntatore ad una funzione. Tale funzione può essere chiamata non citandone esplicitamente il nome, ma usando la variabile puntatore. Maggior versatilità e riutilizzabilità del codice 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 11

12 Dichiarazione dei puntatori a funzioni Un puntatore a funzione va dichiarato nel seguente modo: tipo (*nome_ptr) (tipo_arg_1, tipo_arg_2, tipo_arg_3,...); dove: nome_ptr è il nome del puntatore tipo è il tipo ritornato dalla funzione puntata tipo_arg_1, tipo_arg_2, sono i tipi degli argomenti della funzione puntata 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 12

13 Inizializzazione dei puntatori a funzioni Un puntatore a funzione va inizializzato ad un valore nel seguente modo: nome_ptr = nome_funz; dove: nome_ptr è il nome del puntatore a funzione nome_funz è il nome della funzione puntata 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 13

14 Chiamata a puntatori a funzioni Un puntatore a funzione può essere invocato all interno di un programma con la sintassi: (*nome_ptr) (arg_1, arg_2, arg_3,...); dove arg_1, arg_2, arg_3, sono gli argomenti da passare alla funzione puntata. NOTA: nome_ptr è il puntatore; *nome_ptr indica la funzione puntata da nome_ptr! 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 14

15 Un semplice esempio #include <stdio.h> void a (int x); void b (int x); int main() { void (*fp)(); } fp = a; (*fp)(3); fp = b; (*fp)(3); void a (int x) { printf ("%d\n", x + x); } void b (int x) { printf ("%d\n", x * x); } 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 15

Linguaggio C Struct e union

Linguaggio C Struct e union FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struct e union 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Codifica dei numeri interi positivi e negativi

Codifica dei numeri interi positivi e negativi FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica dei numeri interi positivi e negativi 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Linguaggio C Debugging

Linguaggio C Debugging FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota

Dettagli

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Codifica del video

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Codifica del video FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica del video 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Dettagli

Input/output in C e in C++

Input/output in C e in C++ FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Codifica dei segnali audio

Codifica dei segnali audio FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica dei segnali audio 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Controllo e correzione degli errori

Controllo e correzione degli errori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Controllo e correzione degli errori 2000 Pier Luca Montessoro si veda la nota di copyright alla

Dettagli

Gestione della memoria di massa e file system

Gestione della memoria di massa e file system FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria di massa e file system 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

IL CABLAGGIO STRUTTURATO DI CATEGORIA 6

IL CABLAGGIO STRUTTURATO DI CATEGORIA 6 IL CABLAGGIO STRUTTURATO DI CATEGORIA 6 21 maggio 2002 PIER LUCA MONTESSORO Dip. di Ingegneria Elettrica Gestionale e Meccanica Università degli Studi di Udine in collaborazione con 2002 Pier Luca Montessoro

Dettagli

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione audio

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione audio FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Compressione audio 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Dettagli

Metro VLAN Switch e standard 802.1ad

Metro VLAN Switch e standard 802.1ad Metro VLAN Switch e standard 802.1ad Pietro Nicoletti piero[]studioreti.it VLAN-Metro-802.1ad - 1 P. Nicoletti: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito

Dettagli

La programmazione in linguaggio C

La programmazione in linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Trasmissione bilanciata e amplificatore differenziale

Trasmissione bilanciata e amplificatore differenziale E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato Trasmissione bilanciata e amplificatore differenziale Pier Luca Montessoro pierluca.montessoro@diegm.uniud.it DIFFAMP -

Dettagli

La voce di Elvis Presley, la chitarra di David Gilmour e le funzioni di callback in linguaggio C

La voce di Elvis Presley, la chitarra di David Gilmour e le funzioni di callback in linguaggio C La voce di Elvis Presley, la chitarra di David Gilmour e le funzioni di callback in linguaggio C l ingegneria elettronica nella musica moderna Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università

Dettagli

Tecniche di compressione senza perdita

Tecniche di compressione senza perdita FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Tecniche di compressione senza perdita 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze

Dettagli

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) Fondamenti di Informatica.

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) Fondamenti di Informatica. FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Le trappole del linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Linguaggio C Struttura dei programmi

Linguaggio C Struttura dei programmi FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide

Dettagli

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Libreria in linguaggio C per elaborazione audio in real time

Libreria in linguaggio C per elaborazione audio in real time FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Libreria in linguaggio C per elaborazione audio in real time 2010 Pier Luca Montessoro (si veda

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Shielding. E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato. Pier Luca Montessoro.

Shielding. E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato. Pier Luca Montessoro. E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato Shielding Pier Luca Montessoro pierluca.montessoro@diegm.uniud.it SHIELD - 1 Copyright: si veda nota a pag. 2 Nota di Copyright

Dettagli

Progettazione delle dorsali in fibra ottica

Progettazione delle dorsali in fibra ottica Progettazione delle dorsali in fibra ottica Mario Baldi Politecnico di Torino mario.baldi@polito.it staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide)

Dettagli

Mobile IP Mobilità nelle reti IP Mario Baldi Politecnico di Torino

Mobile IP Mobilità nelle reti IP Mario Baldi Politecnico di Torino Mobile IP Mobilità nelle reti IP Mario Baldi Politecnico di Torino http://staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul

Dettagli

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Cenni sull architettura protocollare TCP/IP

Cenni sull architettura protocollare TCP/IP Nota di Copyright Cenni sull architettura protocollare TCP/IP Mario Baldi mario.baldi@polito.it staff.polito.it/mario.baldi cenni - 1 M. Baldi: si veda pagina 2 Questo insieme di trasparenze (detto nel

Dettagli

Cenni sull architettura protocollare TCP/IP

Cenni sull architettura protocollare TCP/IP Cenni sull architettura protocollare TCP/IP Mario Baldi mbaldi@polito.it www.polito.it/~baldi cenni - 1 M. Baldi: si veda pagina 2 Nota di Copyright! Questo insieme di trasparenze (detto nel seguito slides)

Dettagli

Interconnessione di reti IP

Interconnessione di reti IP Interconnessione di reti IP Mario Baldi mario.baldi@polito.it staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright

Dettagli

Internet and Intranet Access

Internet and Intranet Access and Intranet Access Mario Baldi Synchrodyne Networks, Inc. baldi@synchrodyne.com access - 1 M. Baldi: see page 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

1999 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

1999 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro ( si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Memoria cache, interrupt e DMA

Memoria cache, interrupt e DMA FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Linguaggio C Espressioni e operatori

Linguaggio C Espressioni e operatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori 2001 Pier Luca Montessoro - Davide

Dettagli

Esercizi di Addressing. Fulvio Risso Guido Marchetto

Esercizi di Addressing. Fulvio Risso Guido Marchetto Esercizi di Addressing Fulvio Risso Guido Marchetto 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali.

Dettagli

Gestione dei processi

Gestione dei processi FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione dei processi 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)

Dettagli

Linguaggio C Variabili e tipi di dato

Linguaggio C Variabili e tipi di dato FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Variabili e tipi di dato 2001 Pier Luca Montessoro - Davide

Dettagli

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Reti logiche 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota di

Dettagli

RETI DI CALCOLATORI. Nota di Copyright. Passi progettuali necessari. Esercitazione 1. Progetto di un sistema di cablaggio strutturato

RETI DI CALCOLATORI. Nota di Copyright. Passi progettuali necessari. Esercitazione 1. Progetto di un sistema di cablaggio strutturato Nota di Copyright RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2009 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Questo insieme di trasparenze

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016

Dettagli

2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze

Dettagli

Progettazione di reti locali basate su switch - Switched LAN

Progettazione di reti locali basate su switch - Switched LAN Progettazione di reti locali basate su switch - Switched LAN Mario Baldi Politecnico di Torino http://staff.polito.it/mario.baldi Basato sul capitolo 5 di: M. Baldi, P. Nicoletti, Switched LAN, McGraw-Hill,

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;

Dettagli

Linguaggio C: PUNTATORI

Linguaggio C: PUNTATORI Linguaggio C: PUNTATORI I puntatori sono una delle più importanti caratteristiche del linguaggio C. Permettono di lavorare a basso livello, mantenendo flessibilità e praticità. Il C utilizza molto i puntatori

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome

Dettagli

Linguaggio C La libreria standard

Linguaggio C La libreria standard FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C La libreria standard 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I puntatori Variabili e parametri Parametri formali

Dettagli

RETI DI CALCOLATORI II

RETI DI CALCOLATORI II RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Scrittura dei programmi applicativi di rete

Scrittura dei programmi applicativi di rete Nota di Copyright RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è protetto

Dettagli

Net or Not Neutrality

Net or Not Neutrality Net or Not Neutrality Giuseppe Augiero E-privacy 2010-28/29 maggio 2010 - Palazzo Vecchio - Firenze 1 Who is G. Augiero? N e t w o r k & I T S e c u r i t y Specialist presso la Fondazione G. Monasterio

Dettagli

Introduzione ai puntatori in C Definizione

Introduzione ai puntatori in C Definizione Introduzione ai puntatori in C Definizione Un puntatore è una variabile che contiene l indirizzo di un altra variabile Tramite i puntatori si può quindi accedere a un oggetto indirettamente (si usa il

Dettagli

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo.

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. int a = 5; a 5 α=&a Esistono in C particolari variabili dette puntatori che possono

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

CONTENUTI della I parte

CONTENUTI della I parte CONTENUTI della I parte In questa prima parte ci proponiamo un ripasso di argomenti sicuramente svolti nelle scuole superiori e quindi noti a tutti DISEQUAZIONI I grado II grado intere fratte intere fratte

Dettagli

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo

Dettagli

Linguaggio C: puntatori

Linguaggio C: puntatori Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: puntatori La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Linguaggio C Compilazione, linking e preprocessor

Linguaggio C Compilazione, linking e preprocessor FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Compilazione, linking e preprocessor 2001 Pier Luca Montessoro

Dettagli

Il collegamento delle reti aziendali: DHCP, DSL, PPPoE

Il collegamento delle reti aziendali: DHCP, DSL, PPPoE Nota di Copyright RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide)

Dettagli

Programmi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica

Programmi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica FONDAMENTI DI INFORMATICA rof IER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Calcolo parallelo e sistemi multiprocessore 2000 ier Luca Montessoro (si veda la nota di copyright

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

Definizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori

Definizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Tempo di vita e scope delle variabili

Tempo di vita e scope delle variabili Tempo di vita e scope delle variabili Richiami sulla struttura di un programma C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume tutto in un unico file):

Dettagli

POINTERS. Una variabile pointer è una variabile che ha come valore un indirizzo di memoria.

POINTERS. Una variabile pointer è una variabile che ha come valore un indirizzo di memoria. POINTERS Una variabile pointer è una variabile che ha come valore un indirizzo di memoria. Es. Sia y una variabile intera di valore e sia yptr una variabile pointer avente come valore l indirizzo di y.

Dettagli

Istruzioni iterative (o cicliche)

Istruzioni iterative (o cicliche) Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Il linguaggio C Strutture

Il linguaggio C Strutture Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C -- Strutture 2 Ringraziamenti Questi

Dettagli

FONDAMENTI DI INFORMATICA. Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine. Compressione MPEG

FONDAMENTI DI INFORMATICA. Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine. Compressione MPEG FONDAMENTI DI INFORMATICA Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Compressione MPEG 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota

Dettagli

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a Puntatori in C Puntatori Variabili tradizionali indirizzo int a = 5; A00E... Proprietà della variabile a: nome: a A010 A012 5 tipo: int A014 valore: 5 indirizzo: A010 Finora abbiamo usato solo le prime

Dettagli

Capitolo 7 I puntatori in C

Capitolo 7 I puntatori in C 1 Capitolo 7 I puntatori in C 7.2 Dichiarazione e inizializzazione di puntatori Variabili puntatore Contengono gli indirizzi di memoria come valore Le normali variabili contengono uno specifico valore

Dettagli

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Strutture di dati Fondamenti di Informatica 11. Linguaggio C - Strutture / Tabelle / Puntatori Strutture /Tabelle Corso di Laurea in Ingegneria Informatica e dell Automazione A.A. 2012-2013 2 Semestre

Dettagli

Puntatori. Fondamenti di Programmazione

Puntatori. Fondamenti di Programmazione Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

I puntatori (richiamo)

I puntatori (richiamo) I puntatori (richiamo) Puntatori Un puntatore è una variabile che assume come valore un indirizzo in memoria L uso dei puntatori permette di: mantenere riferimenti ad altre variabili (è un punto di accesso

Dettagli

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per

Dettagli

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica Corso di Fondamenti di Informatica Puntatori e Allocazione Dinamica I puntatori (Richiamo) Il C++ prevede puntatori a dati di qualsiasi natura, semplici o strutturati e puntatori a funzione. In particolare

Dettagli

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che

Dettagli

Introduzione al C. Unità Gestione Dinamica della Memoria

Introduzione al C. Unità Gestione Dinamica della Memoria Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità Gestione Dinamica della Memoria D. Bloisi, A. Pennisi, S. Peluso, S. Salza Gestione

Dettagli

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012 Funzioni e passaggio parametri Alessandra Giordani agiordani@disi.unitn.it Mercoledì 16 maggio 2012 http://disi.unitn.it/~agiordani/ Cosa vedremo oggi Le funzioni Il passaggio dei parametri Le dichiarazioni

Dettagli

Programmazione (imperativa)

Programmazione (imperativa) Programmazione (imperativa) Corso di Laurea in Informatica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Lunedì 12.00-13.00 e 14.00-16.00 Mercoledì 14.00-17.00 Laboratorio: Giovedì 12.00-13.00

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Introduzione e sintassi La presente dispensa

Dettagli

Funzioni in C. Architetture multi-componente

Funzioni in C. Architetture multi-componente Funzioni in C Architetture multi-componente In generale, una applicazione informatica complessa è organizzata come insieme di componenti software che cooperano per raggiungere un fine comune. Ogni componente

Dettagli

Ottenere una modifica del parametro attuale

Ottenere una modifica del parametro attuale Ottenere una modifica del parametro attuale Le variabili passate come parametri a una funzione, se alterate durante l esecuzione, non cambiano valore all uscita dalla funzione (parametri passati per valore)

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

La gestione della memoria dinamica Heap

La gestione della memoria dinamica Heap Laboratorio di Algoritmi e Strutture Dati La gestione della memoria dinamica Heap Prof. Luigi Lamberti 2005 Cenni sui Processi Un Programma è un insieme di Istruzioni memorizzato in un file con le costanti

Dettagli

Puntatori. Unità 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Puntatori. Unità 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Array e puntatori in C

Array e puntatori in C Array e puntatori in C Diapositive adattate dalle omonime create dalla Dottoressa di Ricerca Giovanna Melideo per il corso di Laboratorio di Algoritmi e Strutture Dati 10/05/2005 LP2-04/05 - Appunti di

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative

Dettagli

Cenni sull ingegneria del software e sulla qualità dei programmi

Cenni sull ingegneria del software e sulla qualità dei programmi FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Cenni sull ingegneria del software e sulla qualità dei programmi 2003 Pier Luca Montessoro (vedere

Dettagli

Strategie di programmazione

Strategie di programmazione Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie

Dettagli

Allocazione dinamica della memoria

Allocazione dinamica della memoria Allocazione dinamica della memoria Allocazione statica: limiti Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente la loro esistenza deve essere prevista e dichiarata a priori

Dettagli