Tema: dudas code
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/01/2007, 22:06
Avatar de Instru
Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 4 meses
Puntos: 52
Re: dudas code

Bueno.
Primero, para pasar por referencia con punteros te recomendaria mas algo como:
Código:
void funcion(int *a)
{
int i;
a[2]=9;

}
Segun mi experiencia, es lo mismo. Pero igual y me puedo equivocar.

Para retornar punteros desde una funcion tendrias que hacer algo asi:

Código:
int *funcion(...)
{
   int *i;
   i=(int *)malloc(sizeof(int)*5);
   i[0]=1;
   i[1]=2;
   i[2]=3;
.
.
   return i;
}
Esto crea espacio para un array de ints y retorna la direccion de este espacio de memoria. Solo recuerda liberar ese trozo de memroia despeus con un free(variable_devuelta);

Nunca devualvas un puntero de una variable estatica dentro de una funcion, ya que al acabar la funcion, el espacio de esa variable se libera automaticamente por el Sistema operativo.

Por ultimo:

Código:
Por que no se puede poner esto : while (s1[i]!='\0')&& (!log)?? Me da error en el compilador, q pasa? (log es de tipo logico, en este caso, log=cierto)...
Obviamente esto te va a dar error.
En todo caso tendria que ser asi:

while ((s1[i]!='\0')&& (!log))
Ya que la condicion del while solo son las 2 y en tu programa le dices que solo use la primera.
Con esos parentesis extras, te debe de leer las 2.

Espero haberte ayudado.

SAludos