Título: return array char en C Publicado por: soyloqbuskas en 29 Septiembre 2015, 02:58 am Buenas a todos!
Tengo problemas para declarar una funcion que retorna un array de caracters. Código
¿como debo declarar la funcion para que funcione correctamente con arrays? Gracias, un saludo. Título: Re: return array char en C Publicado por: 0xFer en 29 Septiembre 2015, 04:01 am No se puede. Lo que si puedes hacer es una función que retorne un puntero a un arreglo de caracteres.
Código
Para tratar los caracteres del arreglo al que apunta el puntero tienes que cachar el puntero con otro puntero en la función que llame a la función que retorna el puntero. Código
Como el arreglo es de 100 caracteres entonces tienes que agregar un caracter nulo en donde creas que termina la palabra guardada por el arreglo. esto es para que no tomes valores basura. Código
El ejemplo era para un arreglo de 5 elementos, el chiste es agregar un caracter nulo('\0') al final de la palabra Título: Re: return array char en C Publicado por: Luchoz95 en 29 Septiembre 2015, 05:23 am Concuerdo con lo que dice 0xFer, pero deberías trabajar con la memoria dinámica, osea deberías definir un puntero e inicializarlo con malloc().
El ejemplo que dio 0xFer , seguramente funcionara, pero solo con ese código, ya que el puntero se guardo en el tope de la pila al llamar la función, cuando la función termine, el tope va hacer otro y el puntero va hacer solo basura. El uso de la memoria dinámica en C es esencial, te recomiendo que estudies muy bien como funciona esta memoria y las funciones , malloc(), realloc(), y free(). Saludos |