Linguaggio C I puntatori
|
|
- Fabia Valeri
- 7 anni fa
- Visualizzazioni
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
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
DettagliCodifica 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
DettagliLinguaggio 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
DettagliFONDAMENTI 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
DettagliInput/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
DettagliArchitettura 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
DettagliCodifica 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
DettagliControllo 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
DettagliGestione 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
DettagliIL 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
DettagliFONDAMENTI 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
DettagliMetro 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
DettagliLa 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
DettagliTrasmissione 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 -
DettagliLa 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à
DettagliTecniche 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
DettagliRETI 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
Dettagli2001 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
DettagliLinguaggio 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
DettagliMemoria 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
DettagliLibreria 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
DettagliRETI 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
DettagliRETI 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
DettagliShielding. 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
DettagliProgettazione 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)
DettagliMobile 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
DettagliGestione 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
DettagliCenni 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
DettagliCenni 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)
DettagliInterconnessione 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
DettagliInternet 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
DettagliRETI 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
Dettagli1999 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
DettagliMemoria 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
DettagliLinguaggio 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
DettagliEsercizi 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.
DettagliGestione 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)
DettagliLinguaggio 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
DettagliFONDAMENTI 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
DettagliRETI 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
DettagliIntroduzione 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
Dettagli2001 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
DettagliProgettazione 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,
DettagliRETI 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
DettagliUnità 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;
DettagliLinguaggio 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
DettagliFondamenti 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
DettagliLinguaggio 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
DettagliLaboratorio 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
DettagliRETI 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
DettagliScrittura 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
DettagliNet 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
DettagliIntroduzione 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
DettagliOgni 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
DettagliIl 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;
DettagliCONTENUTI 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
DettagliRETI 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
DettagliLinguaggio 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
DettagliRETI 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
DettagliRETI 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
DettagliLinguaggio 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
DettagliIl 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)
DettagliProgrammi 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
DettagliRETI 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
DettagliLinguaggio 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
DettagliDefinizione 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
DettagliRETI 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
DettagliTempo 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):
DettagliPOINTERS. 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.
DettagliIstruzioni 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
DettagliIl 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
DettagliFONDAMENTI 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
DettagliPuntatori 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
DettagliCapitolo 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
DettagliRETI 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
DettagliVerso 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
DettagliFondamenti 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
DettagliPuntatori. 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
DettagliRETI 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
DettagliI 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
DettagliGli 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
DettagliI 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
DettagliPuntatori. 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
DettagliCorso 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
DettagliTipi 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
DettagliIntroduzione 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
DettagliFunzioni 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
DettagliProgrammazione (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
DettagliLinguaggio 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
DettagliFunzioni 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
DettagliOttenere 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)
DettagliUtilizza 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
DettagliLa 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
DettagliPuntatori. 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
DettagliArray 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
DettagliLinguaggio 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
DettagliLinguaggio 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
DettagliCenni 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
DettagliStrategie 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
DettagliAllocazione 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