| 0.01 | | [frontespizio] |
| 0.02 | | [colophon] |
| 0.03 | | Indice |
| 0.11 | | Prefazione [ di M. Handford ET Dennis MacAlistair Ritchie ] |
| 0.13 | | Prefazione alla prima edizione [ di Brian Wilson Kernighan ET Dennis MacAlistair Ritchie ] |
| 0.15 | | Introduzione |
| 0.19 | | __ |
| 0.20 | | ____ |
| | | {titolo} |
| 1 | Capitolo 1. | Introduzione genrale |
| 2 | 1.1. | Principi fondamentali |
| 5 | 1.2. | Variabili ed espressioni aritmetiche |
| 12 | 1.3. | L'istruzione for |
| 13 | 1.4. | Costanti simboliche |
| 14 | 1.5. | Input/output di caratteri |
| 15 | 1.5.1. | Copia tra file |
| 17 | 1.5.2. | Conteggio dei caratteri |
| 19 | 1.5.3. | Conteggio delle linee |
| 20 | 1.5.4. | Conteggio delle parole |
| 23 | 1.6. | Vettori |
| 26 | 1.7. | Funzioni |
| 30 | 1.8. | Argomenti - Chiamata per valore |
| 31 | 1.9. | Vettori di caratteri |
| 35 | 1.10. | Variabili esterne e scope |
| 41 | Capitolo 2. | Tipi, operatori ed espressioni |
| 41 | 2.1. | Nomi di variabili |
| 42 | 2.2. | Tipi di dati dimensioni |
| 43 | 2.3. | Costanti |
| 47 | 2.4. | Dichiarazioni |
| 48 | 2.5. | Operatori aritmetici |
| 49 | 2.6. | Operatori relazionali logici |
| 51 | 2.7. | Conversioni di tipo |
| 56 | 2.8. | Operatori di incremento e decremento |
| 58 | 2.9. | Operatori bit a bit |
| 60 | 2.10. | Operatori di assegnamento ed espressioni |
| 62 | 2.11. | Espressioni condizionali |
| 64 | 2.12. | Precedenza ed ordine di valutazione |
| 67 | Capitolo 3. | Strutture di controllo |
| 67 | 3.1. | Istruzioni e blocchi |
| 68 | 3.2. | if-else |
| 69 | 3.3. | else-if |
| 71 | 3.4. | switch |
| 73 | 3.5. | Cicli - while e for |
| 78 | 3.6. | Cicli - do-while |
| 79 | 3.7. | break e continue |
| 80 | 3.8. | goto e label |
| 83 | Capitolo 4. | Funzioni struttura dei programmi |
| 84 | 4.1. | Fondamenti sulle funzioni |
| 88 | 4.2. | Funzioni che ritornano valori non interi |
| 91 | 4.3. | Variabili esterne |
| 99 | 4.4. | Regole di scope |
| 101 | 4.5. | Header file |
| 103 | 4.6. | Variabili Static |
| 104 | 4.7. | Variabili Register |
| 105 | 4.8. | Struttura a blocchi |
| 106 | 4.9. | Inizializzazione |
| 108 | 4.10. | Ricorsione |
| 110 | 4.11. | Il preprocessore C |
| 110 | 4.11.1. | Inclusione di file |
| 111 | 4.11.2. | Sostituzione delle macro |
| 114 | 4.11.3. | Inclusione condizionale |
| 117 | Capitolo 5. | Punntatori e vettori |
| 117 | 5.1. | Puntatori d indirizzi |
| 120 | 5.2. | Puntatori ed argomenti di funzione |
| 123 | 5.3. | Puntatori e vettori |
| 127 | 5.4. | Aritmetica degli indirizzi |
| 131 | 5.5. | Puntatori a caratteri e funzioni |
| 136 | 5.6. | Vettori di puntatori e puntatori a puntatori |
| 140 | 5.7. | Vettori multidimensionali |
| 143 | 5.8. | Inizializzazione di vettori di puntatori |
| 144 | 5.9. | Puntatori e vettori multidimensionali |
| 145 | 5.10. | Argomenti alle linee di comando |
| 151 | 5.11. | Puntatori a funzioni |
| 155 | 5.12. | Dichiarazioni complesse |
| 163 | Capitolo 6. | Strutture |
| 163 | 6.1. | Fondamenti sulle strutture |
| 166 | 6.2. | Strutture e funzioni |
| 170 | 6.3. | Vettori di strutture |
| 175 | 6.4. | Puntatori a strutture |
| 178 | 6.5. | Strutture ricorsive |
| 184 | 6.6. | Analisi delle tabelle |
| 187 | 6.7. | Typedef |
| 189 | 6.8. | Union |
| 191 | 6.9. | Campi di bit |
| 195 | Capitolo 7. | Input ed Output |
| 195 | 7.1. | Input ed Output Standard |
| 198 | 7.2. | Output formattato - printf |
| 201 | 7.3. | Liste di argomenti di lunghezza variabile |
| 203 | 7.4. | Input formattato - scanf |
| 207 | 7.5. | Accesso a file |
| 210 | 7.6. | Gestione degli errori - stderr ed exit |
| 212 | 7.7. | Input ed output di linee |
| 214 | 7.8. | Funzioni varie |
| 214 | 7.8.1. | Operazioni sulle stringhe |
| 215 | 7.8.2. | Controllo e conversione della class di carattere |
| 215 | 7.8.3. | Ungetc |
| 216 | 7.8.4. | Esecuzione di comandi |
| 216 | 7.8.5. | Gestione della memoria |
| 217 | 7.8.6. | Funzioni matematiche |
| 217 | 7.8.7. | Generazione di numeri casuali |
| 219 | Capitolo 8. | L'interfaccia del sistema Unix |
| 220 | 8.1. | Descrittori di file |
| 221 | 8.2. | I/O a basso livello - read e write |
| 223 | 8.3. | open, creat, close, unlink |
| 226 | 8.4. | Accesso casuale - lseek |
| 227 | 8.5. | Esempio - U'implementazione di fopen e getc |
| 231 | 8.6. | Esempio - Listing di Directory |
| 239 | 8.7. | Esempio - Un allocatore di memoria |
| 247 | Appendice A. | Reference Manual |
| 247 | A1. | Introduzione |
| 247 | A2. | Conversioni lessicali |
| 248 | A2.1. | Token |
| 248 | A2.2. | Commenti |
| 248 | A2.3. | Identificatori |
| 248 | A2.4. | Parole chiave |
| 249 | A2.5. | Costanti |
| 249 | A2.5.1. | Costanti intere |
| 250 | A2.5.2. | Costanti carattere |
| 251 | A2.5.3. | Costanti floating |
| 251 | A2.5.4. | Costanti enumerative |
| 251 | A2.6. | Stringhe letterali |
| 252 | A.3. | Notazioni sintattiche |
| 252 | A.4. | Significato degli identificatori |
| 253 | A.4.1. | Classi di memoria |
| 253 | A.4.2. | Tipi fondamentali |
| 255 | A.4.3. | Tipi derivati |
| 255 | A.4.4. | Qualificatori di tipo |
| 255 | A.5. | Oggetti lvalue |
| 256 | A.6. | Conversioni |
| 256 | A.6.1. | Trasformazione degli interi |
| 256 | A.6.2. | Conversione di interi |
| 256 | A.6.3. | Interi floating |
| 257 | A.6.4. | Tipi floating |
| 257 | A.6.5. | Conversioni aritmetiche |
| 258 | A.6.6. | Puntatori ed interi |
| 259 | A.6.7. | Void |
| 259 | A.6.8. | Puntatori a void |
| 259 | A.7. | Espressioni |
| 260 | A.7.1. | Generazione di puntatori |
| 261 | A.7.2. | Espressioni primarie |
| 261 | A.7.3. | Espressioni postfisse |
| 262 | A.7.3.1. | Riferimenti a vettori |
| 262 | A.7.3.2. | Chiamat di funzione |
| 264 | A.7.3.3. | Riferimenti a strutture |
| 264 | A.7.3.4. | Incremento postfisso |
| 264 | A.7.4. | Operatori unari |
| 265 | A.7.4.1. | Operatori incrementali prefissi |
| 265 | A.7.4.2. | Operatore d indirizzamento |
| 265 | A.7.4.3. | Operatore di indirezione |
| 265 | A.7.4.4. | Operatore pi unario |
| 266 | A.7.4.5. | Operatore meno unario |
| 266 | A.7.4.6. | Operatore complemento a uno |
| 266 | A.7.4.7. | Operatore di ngazione logica |
| 266 | A.7.4.8. | Operatore sizeof |
| 267 | A.7.5. | Cast |
| 267 | A.7.6. | Operatori moltiplicativi |
| 268 | A.7.7. | Operatori additivi |
| 268 | A.7.8. | Operatori di shift |
| 269 | A.7.9. | Operatori relazionali |
| 270 | A.7.10. | Operatori di iuguaglianza |
| 270 | A.7.11. | Operatore AND bit a bit |
| 270 | A.7.12. | Operatore OR esclusivo bit a bit |
| 270 | A.7.13. | Operatore OR inclusivo bit a bit |
| 271 | A.7.14. | Operatore AND logico |
| 271 | A.7.15. | Operatore OR logico |
| 271 | A.7.16. | Operatore condizionale |
| 272 | A.7.17. | Espressioni di assegnamento |
| 273 | A.7.18. | Operatore virgola |
| 273 | A.7.19. | Espressioni costanti |
| 274 | A.8. | Dichiarazioni |
| 275 | A.8.1. | Specificatori di classe di memoria |
| 276 | A.8.2. | Specificatori di tipo |
| 277 | A.8.3. | Dichiarazioni di struttura e union |
| 281 | A.8.4. | Enumerazioni |
| 282 | A.8.5. | Dichiaratori |
| 283 | A.8.6. | Significato di dichiaratori |
| 283 | A.8.6.1. | Dichiaratori puntatori |
| 284 | A.8.6.2. | Dichiaratori vettore |
| 285 | A.8.6.3. | Dichiaratori funzione |
| 287 | A.8.7. | Inizializzazione |
| 290 | A.8.8. | Nomi di tipo |
| 291 | A.8.9. | Typedef |
| 292 | A.8.10. | Euivalenze di tipi |
| 292 | A.9. | Istruzioni |
| 293 | A.9.1. | Istruzioni con label |
| 293 | A.9.2. | Istruzioni espressione |
| 294 | A.9.3. | Istruzioni composte |
| 294 | A.9.4. | Istruzioni di selezione |
| 295 | A.9.5. | Istruzioni di iterazione |
| 296 | A.9.6. | Istruzioni di salto |
| 297 | A.10. | Dichiarazioni esterne |
| 298 | A.10.1. | Definizione di funzioni |
| 300 | A.10.2. | Dichiarazioni esterne |
| 301 | A.11. | Scope e Link |
| 301 | A.11.1. | Scope lessicale |
| 302 | A.11.2. | Link |
| 302 | A.12. | Preprocessing |
| 303 | A.12.1. | Sequenze triplici |
| 304 | A.12.2. | Union di linee |
| 304 | A.12.3. | Dfinizione ed espansione delle macro |
| 307 | A.12.4. | Inclusione di file |
| 307 | A.12.5. | Compilazionee condizionale |
| 309 | A.12.6. | Controllo di linea |
| 309 | A.12.7. | generazione di errori |
| 310 | A.12.8. | Pragma |
| 310 | A.12.9. | Direttiva nulla |
| 310 | A.12.10. | Nomi predefiniti |
| 311 | A.13. | Grammatica |
| 319 | Appendice B. | Libreria standard |
| 320 | B1. | Input e Output: stdio.h |
| 320 | B1.1. | Operazioi sui file |
| 322 | B1.2. | Output formattato |
| 325 | B1.3. | Input formattato |
| 327 | B1.4. | Fuzioni di input/output di caratteri |
| 328 | B1.5. | Funzioni di input/output diretto |
| 329 | B1.6. | Funzioni di posizionamento su file |
| 329 | B1.7. | Funzioni di errore |
| 330 | B2. | Controllo sulla classe dei caratteri: ctype.h |
| 331 | B3. | Funzioni sulle stringhe: string.h |
| 333 | B4. | Funzioni matematiche: math.h |
| 334 | B5. | Funzioni di utilità: stdlib.h |
| 338 | B6. | Diagnostica: assert.h |
| 338 | B7. | Liste variabili di argomenti: stdarg.h |
| 339 | B8. | Salti non llocali: setjmp.h |
| 339 | B9. | Segnali: signal.h |
| 341 | B10. | Funzioni relative a data e ora: time.h |
| 345 | Appendice C. | Sommario delle variazioni |
| 351 | | Indice analitico |
| 361 | | _ |
| 362 | | ___ |