Online C Compiler
Apri nel compilatore

Edizione didattica italiana

Domande di colloquio sul C

Ripassa puntatori, memoria, array, funzioni e comportamento indefinito con esempi ragionati.

Domande di colloquio sul C
Ripassa puntatori, memoria, array, funzioni e comportamento indefinito con esempi ragionati.

Distingui il valore di un oggetto dal suo indirizzo. C passa gli argomenti per valore. Una funzione può modificare un oggetto del chiamante ricevendo una copia di un puntatore valido. Un array non è un puntatore, anche se molte espressioni array si convertono in puntatori al primo elemento.

Spiega la durata automatica e statica degli oggetti e l’allocazione dinamica. Non restituire l’indirizzo di una variabile locale automatica. Controlla malloc e libera ogni allocazione una sola volta: dopo free non puoi più accedere all’oggetto.

Ripassa sizeof, const, static e le stringhe terminate da zero. sizeof misura un array completo, ma un parametro dichiarato come array viene adattato a puntatore. Riserva anche lo spazio per il terminatore delle stringhe.

Prima di scrivere un algoritmo, dichiara precondizioni, casi limite e complessità. Con un comportamento indefinito non esiste un risultato certo da prevedere: individua l’operazione non valida e correggila.

Domande frequenti

Perché il codice e alcuni risultati restano in inglese?

Parole chiave C, identificatori, commenti del programma e output attesi restano quelli originali per preservare codice eseguibile e test coerenti. Spiegazioni e istruzioni sono tradotte.