lista collegata
typedef struct Node { int v; struct Node *next; } Node;
Node *head = NULL;
struct
typedef struct {
char name[16];
int shots;
} Project;
Project p = {"Nova", 12};
allocazione dinamica
#include <stdlib.h>
int *buf = malloc(3 * sizeof(int));
buf[0] = 1;
free(buf);
puntatori
int value = 10;
int *ptr = &value;
printf("%d\n", *ptr);
esercizi
allocalo un buffer e libera la memoria.
int *buf = malloc(4 * sizeof(int));
buf[0] = 42;
free(buf);
panoramica
In questo capitolo su strutture dati lavoriamo su lista collegata, struct, allocazione dinamica, puntatori 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 lista collegata in uno scenario reale
- capire e applicare struct in uno scenario reale
- capire e applicare allocazione dinamica in uno scenario reale
- capire e applicare puntatori in uno scenario reale
scheda rapida
typedef struct Node { int v; struct Node *next; } Node;
Node *head = 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 lista collegata leggibile
tip: documenta ogni scelta architetturale.
mini progetto
gestisci un buffer dinamico in sicurezza.
- alloca
- usa
- libera
output atteso: nessun leak.
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