Es el tipo básico que representa un número real en coma flotante de doble precisión. Con mayor o igual precisión que float. Admite como modificador el long permitiendo definir reales muy grandes (80 bits). Los modificadores se usan precediendo al tipo original. Para 64 bits toma valores desde 1.7x10e-308 a 1.7x10e308. Este rango está tomado de las especificaciones del compilador GCC 3.4 para Windows. Estos valores puede que no coincidan con los de otros compiladores o equipos.
El procedimiento decrementaVector modifica un vector de reales muy grandes decrementando cada elemento en un valor real de doble precisión pasado como tercer parámetro.
void decrementaVector(long double *v, int n, double valor){ long double *p=v; for(;p<&v[n];p++) *p=(*p)-valor; }