Guida completa al linguaggio C
Il linguaggio di programmazione C è uno dei più popolari ed utilizzati nell'industria informatica.
Creato negli anni '70 da Brian Kernighan e Dennis Ritchie, è stato utilizzato per creare sistemi operativi, come Windows e Linux, applicazioni desktop, software di sistema, driver e firmware.
Il linguaggio C è stato progettato per essere portabile, efficiente e flessibile. È un linguaggio di basso livello che permette di accedere direttamente alla memoria del computer, ma è anche un linguaggio di alto livello che permette di scrivere programmi complessi.
In questa guida completa al linguaggio C, impareremo a programmare in C partendo dalle basi fino ad arrivare a concetti più avanzati.
La tabella che segue riassume le principali caratteristiche del linguaggio C:
Caratteristica | Descrizione |
---|---|
Anno di prima versione | 1972 |
Paradigma di programmazione | Imperativo, Procedurale, Strutturato |
Progettato da | Brian Kernighan e Dennis Ritchie |
Tipizzazione | Statica, Manifesta, Nominale, Debole |
Compilazione | Compilato |
Gestione della Memoria | Manuale |
Piattaforma | Multi-piattaforma |
Standard | C89, C99, C11, C17, C23 |
Estensione dei file | .c , .h |
Nella tabella che segue sono riportati i principali compilatori per il linguaggio C:
Compilatore | Descrizione |
---|---|
GCC | Compilatore C e C++ open-source più utilizzato |
Clang | Compilatore C e C++ open-source |
Visual Studio | Compilatore C e C++ di Microsoft |
Intel C++ Compiler | Compilatore C e C++ di Intel |
C++Builder | Compilatore C e C++ di Embarcadero (ex Borland) |
Istruzioni Condizionali
Istruzioni di Ciclo
Tipi di Base
- Tipi Interi
- Costanti Intere
- Lettura e Scrittura di Interi
- Overflow degli Interi
- Tipi in Virgola Mobile
- Costanti in Virgola Mobile
- Lettura e Scrittura di Numeri in Virgola Mobile
- Tipo
char
- Funzioni per la Gestione dei Caratteri
- Conversione di Tipi
- Casting di Tipi
- Definizione di tipi con
typedef
- L'operatore
sizeof
Funzioni e Scope
- Introduzione alle funzioni
- Definire funzioni
- Invocare funzioni
- Dichiarazioni di funzioni
- Funzioni e Argomenti
- Array come Argomenti di Funzioni
- Funzioni e Valori di Ritorno
- Variabili Locali
- Variabili Globali
- Blocchi di codice
- Visibilità o Scope delle Variabili
- Funzioni Pure e Impure ed Effetti Collaterali
- Stack di Chiamata delle Funzioni
- Funzioni Ricorsive