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.

Slides:



Advertisements
Presentazioni simili
Puntatori Linguaggio C.
Advertisements

Puntatori e gestione dinamica della RAM
Puntatori in C e C++.
PUNTATORI Introduzione
Fondamenti di Informatica Prof. Cantone
Mappare file in memoria
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.
Caratteri e stringhe di caratteri
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Fondamenti di Informatica II Ingegneria Informatica (A-I) 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.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di Programmazione a.a.2009/2010 Prof.ssa Chiara Petrioli Corso.
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 V Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione V Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione VII: puntatori 3/3 Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Laboratorio di Linguaggi lezione VIII B: Puntatori e Pasticci Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di.
Laboratorio di Linguaggi P R I M O C O M P I T I N O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
memoria gestita staticamente:
A.A. 2010/2011Ambienti di Programmazione per il Software di Base1 (Es. – 6) Ambienti di Programmazione per il Software di Base Le Stringhe in C Input.
AN Fondam98 Puntatori Azioni e procedure Assegnamenti, indirizzi e puntatori.
PUNTATORI Un puntatore è una variabile destinata a contenere lindirizzo di unaltra variabile Vincolo di tipo: un puntatore a T può contenere solo lindirizzo.
Programmazione di Calcolatori
1 ListaDiElem Cancella( ListaDiElem lista, TipoElemento elem ) { ListaDiElem puntTemp; if( ! ListaVuota(lista) ) if( lista–>info == elem ) { puntTemp =
15 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ora da stabilire.
void binario(int n); …………………
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.
Unità Didattica 3 Linguaggio C
Programmazione di Calcolatori
Passaggio di parametri per indirizzo
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2007/2008 Corso di Programmazione 1 a.a.2007/2008 Prof.ssa Chiara Petrioli Corso di Laurea.
C. Gaibisso Programmazione di Calcolatori Lezione XVI Allocazione dinamica della memoria Programmazione di Calcolatori: allocazione dinamica della memoria.
Grafi Rappresentazione mediante liste di adiacenza:
Complessità di un algoritmo
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.
LdL - LP1 - lez 11 - ver 6 - aa Linguaggi di programmazione I Stringhe (II) Prof. Luigi Di Lascio Lezione 11.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
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.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
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 SC che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Marzo 2014.
Relazione sulle strutture dati Svolta da: Buccella Simone Strutture di dati Aree di memoria Puntatore numericibooleani alfabetici Statici dinamici Puntatori.
ALLOCAZIONE STATICA: LIMITI Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente –la loro esistenza deve essere prevista e.
Il linguaggio C Puntatori e dintorni.
1 Strutture dati. 2 Astrazione Non vogliamo sapere l’organizzazione fisica dei dati  indirizzi e celle di memoria Ci interessa solo la loro organizzazione.
Corso di Laurea in Informatica Architettura degli elaboratori a.a Programmazione Assembly: procedure (1) Supporto hardware alle procedure Passaggio.
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.
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Fondamenti di Informatica
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

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 che la prima punta alla seconda. I puntatori sono utili per: - le funzioni (passaggio per referenza, che permette la modifica degli argomenti in input); - l’allocazione dinamica della memoria (definizione di strutture dati di dimensione variabile)

Definizione e operazioni sui puntatori Definizione di un puntatore che punta a locazioni di memoria contenenti un dato tipo di dati: tipo *nome_variabile Es. int *x; char *y; & (operatore unario che restituisce l’indirizzo di memoria dell’operando) Es. la variabile n sia allocata all’indirizzo Dopo l’esecuzione dell’istruzione: x=&n il valore di x è 1000.

* (operatore unario che restituisce il valore della locazione di memoria puntata dall’operando). Es. la variabile n ha come valore 1000, e la locazione 1000 contiene il valore 555. Dopo l’esecuzione dell’istruzione: y=*x; Il valore di y è 555. ATTENZIONE * è il complemento di &. void main(void){ tipo x,y; tipo *p; è equivalente a y=x; p=&x; } y=*p; }

I puntatori possono essere confrontati tra di loro; Allocazione dinamica della memoria: malloc ()alloca porzioni contigue di memoria void *malloc(numero di byte) (°) e restituisce l’indirizzo della locazione iniziale free() libera porzioni di memoria void free(void *p) (°) tipo *funzione(argomenti) Definisce una funzione che restituisce come output un puntatore al tipo dato. Es. char *p; p=malloc(1000); alloca 1000 byte in sequenza e p punta alla locazione iniziale.