Tipos básicos de datos

El lenguaje C posee gran variedad de tipos básicos de datos. En el siguiente cuadro se muestran los distintos tipos básicos y sus modificadores.
 
Tipo Descripción Rango (depende del compilador) Modificadores
char Carácter o números pequeños -128 a 127
(8 bits)
 
unsigned
el mismo tipo pero sin signo
int Entero -2.147.483.648 a 2.147.483.647
(32 bits)
 
short
entero corto (16 bits)
unsigned
long
entero largo (32 bits)
float Real 3.4x10e-38 a 3.4x10e38
(32 bits)
double Real con mayor o igual precisión que el float 1.7x10e-308 a 1.7x10e308
(64 bits)
long
real muy grande (80 bits)
void Tipo especial que no permite definir variables teniendo un uso especifico  
Los modificadores se usan precediendo al tipo original. Cuando se establece un tipo sólo con el modificador long o short, por defecto es int, por ejemplo: long es equivalente a long int.

Ejemplo

#include <stdio.h>
int main(){
   int i;                     /* entero */
   short int s1, s2;          /* enteros pequeños */
   char c;                    /* carácter */
   unsigned short int us;     /* entero pequeño sin signo*/
   long y;                    /* puede omitirse el int */
   double x;                  /* variable real de doble precisión*/
   return 0;
}