Cita: ok. Pero si por ej en vez de :
"return valor;" pones "return *valor", t devolvera el valor al k apunta el puntero no?¿
Simple. return valor; te regresaria la direccion(lo que la funcion debe regresar por el int *funcion). return *valor; te regresa el valor, no la direccion, y pues esto es un errorsote ya que la funcion DEBE regresar punteros y no valore y si tu regresas un valor, este valor se usara como una direccion que lo ams seguro es que no ese "apartada" y puedas caer en uno de los errores de desbordamiento explicado en la faq.
Cita: Y otra cosa, cuando pasas punteros a una funcion, no puedes acerlo asi?¿
funcion(*p), tienes k acerlo asi funcion(&p)?¿? porke?¿
No os preguntare asta entro d un tiempo, pq me voi de vacac. una semanita :P.
Al llamar la funcion "funcion(*p)" asi como tal, lo que estas poniendo como argumento es el valor, no la direccion, y si la funcion toma este argumento como direccion, vuelves a cae en el mismo problema de usar memoria "no apartada". Todo esto siempre y cuando p sea un puntero ya que si es una variable comun, pues *p no tiene sentido y posiblemente te daria un error de compilacion.
funcion(&p) lo que hace es darle a la funcion la direccion, no el valor p. Y como la funcion pide una direccion, pues esto es correcto.
Un consejo para cuando regreses, estudia mas lo basico antes de irte a los punteros, en serio.
Saludos