Lezione XVI

Debugging

  • Uso di assert con assert.h
  • Debugger gdb.
  • Ambienti IDE, Eclipse CDT.

Memoria Dinamica

  • Funzioni:   malloc, calloc, free, realloc
  • Uso di malloc, allocazione dinamica Stack vs Heap.
  • Vettori dinamici allocazione e uso di sizeof con malloc.  Accesso tramite notazione C (v[i]).
  • Funzione free per liberare memoria
  • Matrici Dinamiche: puntatore a puntatore, allocazione dello spazio dei dati della matrice e del vettore di puntatori alle righe, inizializzazione del puntatore alle righe. Località degli accessi e memorie cache.

Lezione XIV

Linguaggio C:

  • FILE, concetti generali. Distinzione tra file di testo e file binari.
  • FILE come struttura dati astratta, usabile solo tramite un 'interfaccia' fatta di funzioni.
  • apertura e chiusura
  • file di testo, creazione, uso di fprintf (cenni a sprintf).
  • file di testo lettura con fscanf, o con fgets, o con fgetc
  • Inizio progetto Statistiche Parole.

Lezione XII (Puntatori)

Strutture:

  • Definizione, uso di typedef.
  • Accesso ai campi (operatore .), inizializzazione..
  • Passaggio tramite funzione, passaggio per valore.
  • Copia tra strutture.

Puntatore:

  • Definizione, Sintassi Dichiarazione puntatore.
  • Puntatore NULL.
  • Operatori:  & indirizzo, * referenziazione.
  • Uso degli operatori, variabili alias, effetti collaterali.
  • Passaggio di parametri tramite puntatori, (passaggio per riferimento, tramite passaggio per valore dei puntatori).
  • Uso dei puntatori per passare strutture grosse
  • Puntatori e Vettori: relazioni.
  • Aritmetica dei puntatori.

Si ricorda agli studenti che giovedi non si fa lezione presso il laboratorio, faremo lezione di teoria, in un aula da definire.