Hola a todos, este es mi primer post asi que mucho gusto de participar en esta comunidad!

Bueno al grano, tengo un codigo en c que me devuelve un segmentation fault. Se que es problema de reservar memoria pero no sé cuando ni como. Agradeceria mucho que alguien me explicara por que pasa:
el codigo calcula fibonacci recursivamente, no hagais caso de la llamada, pensad que los valores se entran correctamente.
llamada del main:
.
.
.
int *s
rfib(s,0,s);
void rfib(int *fib, int x, int *last)
{
if (x==0){
*fib=0;
}
if (x==1)
*fib=1;
else if (x>1)
*fib=fib[-1]+fib[-2];
if (fib+1!=last)
rfib(fib++,x++,last);
}



Bueno al grano, tengo un codigo en c que me devuelve un segmentation fault. Se que es problema de reservar memoria pero no sé cuando ni como. Agradeceria mucho que alguien me explicara por que pasa:
el codigo calcula fibonacci recursivamente, no hagais caso de la llamada, pensad que los valores se entran correctamente.
llamada del main:
.
.
.
int *s
rfib(s,0,s);
void rfib(int *fib, int x, int *last)
{
if (x==0){
*fib=0;
}
if (x==1)
*fib=1;
else if (x>1)
*fib=fib[-1]+fib[-2];
if (fib+1!=last)
rfib(fib++,x++,last);
}