Problemas con punteros

princi
11 de Agosto del 2009
hola buenos dias!
tengo problemas con funciones que devuelven un puntero.cualquier tipo de ayuda me es valido.esquematizado, lo que quiero conseguir es esto:

#include<stdio.h>

int * funcion();
int *p;
main(){

p=funcion();

}

int * funcion(){
int numero=0;
//lo que quiero hacer estaria aqui

return &numero;
}

el problema es que no me deja devolver el &numero, me da fallo de compilacion. lo que quiero es tener en el puntero p el valor de numero.Sin embargo con los strings se hace asi y no da fallos:
include<stdio.h>

char *p;

main(){

p=funcion();

}

char * funcion(){
char string='hola';

return string;
}
al igualar en el main con un puntero tipo char, el puntero coge el valor del string.
por eso no le pillo logica yaque quiero hacer lo mismo con un int y no me sale.
muchas gracias


princi
11 de Agosto del 2009
Holaa!! bueno ya lo he conseguido e, nada una chorradita...
en vez de 'int * funcion();' es 'int funcion();' y asi como debia de ser 'return &numero;' no da error.