C/Variabili, operatori e costanti/Variabili: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 87:
* {{IndexItem|char}}<tt>char</tt>: sono le variabili che contengono un carattere (8 bit).
* {{IndexItem|void}}<tt>void</tt>: il non-tipo: non si possono creare variabili void, ma questo tipo è usato per dichiarare {{IndexItem|puntatore}}[[C/Vettori e puntatori/Puntatori|puntatori]] generici (che possono puntare a qualunque tipo di dati) e per definire funzioni che non restituiscono alcun valore.
 
Le dimensioni reali del tipo <tt>int</tt>, e che decidono quindi la gamma di numeri rappresentabili, dipendono strettamente dall'implementazione (compilatore e tipo di processore).
Le specifiche di linguaggio suggeriscono che abbia una ''dimensione naturale suggerita dall'ambiente di esecuzione''; questo si traduce solitamente in almeno 16 bit (gamma numerica da -32768 a +32767), anche nella maggioranza dei processori/compilatori a 8 bit, ma con processori a 32 bit è piuttosto comune che il compilatore usi <tt>int</tt> a 32 bit (gamma da -2147483648 a +2147483647).
 
In casi particolari anche le dimensioni del tipo <tt>char</tt> sono state aumentate dal minimo degli 8 bit, come per alcuni [[w:Digital_Signal_Processor|DSP]]. In quel caso poteva essere giocoforza, date alcune [[w:Arithmetic_Logic_Unit|ALU]] a soli 16 o 32 bit, costringere anche il tipo <tt>char</tt> a 16 o 32 bit.
 
Per la certezza delle dimensioni rimane in ogni caso fondamentale la documentazione del compilatore, oltre che il file [[C/Header|header]] <tt>limits.h</tt> fornito; in questo file sono presenti delle definizioni con [[C/Compilatore_e_precompilatore/Direttive|#define]], come ad esempio <tt>INT_MIN</tt> e <tt>INT_MAX</tt>, ai limiti di gamma numerica rappresentabile.
Uno scopo analogo è dato al file header <tt>float.h</tt>, per i numeri a rappresentazione in virgola mobile.
 
==Esempi d'uso==