lezione 02

memoria e puntatori

puntatori, array e malloc/free.

livello: intermedio durata: 30 min output: buffer sicuri badge: c essentials

puntatori

int value = 10;
int *ptr = &value;
printf("%d\n", *ptr);

array

int nums[3] = {1, 2, 3};
printf("%d\n", nums[0]);

allocazione dinamica

#include <stdlib.h>
int *buf = malloc(3 * sizeof(int));
buf[0] = 1;
free(buf);

input/output

#include <stdio.h>
printf("ciao\n");

esercizi

allocalo un buffer e libera la memoria.

int *buf = malloc(4 * sizeof(int));
buf[0] = 42;
free(buf);

panoramica

In questo capitolo su memoria e puntatori lavoriamo su puntatori, array, allocazione dinamica, input/output 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 puntatori in uno scenario reale
  • capire e applicare array in uno scenario reale
  • capire e applicare allocazione dinamica in uno scenario reale
  • capire e applicare input/output in uno scenario reale

scheda rapida

int value = 10;
int *ptr = &value;
printf("%d\n", *ptr);

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 puntatori 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
start a brief