debug e assert
#include <assert.h>
assert(ptr != NULL);
puntatori
int value = 10;
int *ptr = &value;
printf("%d\n", *ptr);
array
int nums[3] = {1, 2, 3};
printf("%d\n", nums[0]);
funzioni
int sum(int a, int b) { return a + b; }
esercizi
usa assert per verificare una condizione.
assert(ptr != NULL);
panoramica
In questo capitolo su debugging lavoriamo su debug e assert, puntatori, array, funzioni per creare micro-pattern riutilizzabili.
lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali.
badge: c essentials
obiettivi
- capire e applicare debug e assert in uno scenario reale
- capire e applicare puntatori in uno scenario reale
- capire e applicare array in uno scenario reale
- capire e applicare funzioni in uno scenario reale
scheda rapida
#include <assert.h>
assert(ptr != NULL);
adatta questo scheletro agli esempi della lezione.
tips
- compila con warning elevati
- controlla ogni return code
- libera la memoria allocata
- usa header guard
- mantieni funzioni corte
- mantieni debug e assert leggibile
tip: documenta ogni scelta architetturale.
mini progetto
aggiungi assert e log per diagnosticare.
- inserisci assert
- riproduci bug
- verifica
output atteso: bug isolato.
checklist
- ho eseguito gli snippet e controllato l'output
- ho annotato almeno 2 trade-off
- ho completato il mini progetto
- ho salvato un riepilogo personale