por que en la instruccion (en c)

"plista=(struct lista*)malloc(sizeof(struct lista));" me da NULL como valor de memoria del puntero plista? como puedo solucionarlo?