Salve a tutti! 
Sto cercando di scrivere un algoritmo che, dati in ingresso due valori, mi crei un array dinamico contenente i valori dell'intervallo (dato dai due valori in input). 
Esempio: input 9 e 5, l'array sarà 5 6 7 8 9. 
#include <stdio.h>
#include <stdlib.h>
int main()
{
	int *v; //Dichiarazione array dinamico
	int max, min, i; //Estremi dell'intervallo
	printf("Max: "); scanf("%d", &max);
	printf("Min: "); scanf("%d", &min);
	
	int d = (max - min) + 1; //dimensione intervallo (estremi compresi)
	printf("d vale %d\n", d);
	v = malloc(d*sizeof(int)); //allocazione dinamica array v
	
	for(i = min; i <= max; i++) //caricamento array dinamico
		v[i];
	
	printf("Intervallo caricato dinamicamente: \n");
	for(i = min; i <= max; i++) //stampa intervallo (estremi compresi)
		printf("v[%d] vale %d\n", i, v[i]);
	return 0;
}
Il problema è che, per esempio, con 9 e 5 mi stampa: 
v[5] vale 0
v[6] vale 135137
v[7] vale 0
v[8] vale 0
v[9] vale 0
Mentre vorrei che stampasse:
v[5] vale 5
v[6] vale 6
v[7] vale 7
v[8] vale 8
v[9] vale 9
Credo che il problema sia nell'indice i, ma non so come risolvere.    
Grazie per l'eventuale aiuto.