Me han preguntado en una entrevista cómo se puede devolver más de un valor de la función. He respondido diciendo que usando punteros podemos lograr (llamar por referencia) esto en C. Luego me dijo que está buscando otra forma de devolver más de un valor. Dije que podemos devolver un objeto struct pero aquí tampoco parecía impresionado.¿Cómo puedo devolver más de un valor a través de la función en C?
Me gustaría saber otras formas de devolver más de un valor de una función.
He visto estas preguntas en SO, pero no he encontrado nada C específico.
A menos que el entrevistador haya querido matrices (pero solo se pueden devolver valores del mismo tipo) las estructuras y los punteros son la única forma de devolver varios valores. –
El hecho de que el entrevistador no parezca impresionado con su respuesta de devolver una estructura (con múltiples valores en su interior) no significa que no sea una buena respuesta. Sí, hay otras formas, pero para C el ** retorno ** de una estructura es una buena respuesta. Sería bueno si pudieras "devolver" una matriz, pero en C lo mejor que puedes hacer es devolver un puntero, a diferencia de C++, donde puedes devolver 'std :: vector'. –
"no pareció impresionado" ... simplemente no le impresionó, ¿o le dijo que estaba completamente equivocado y que no había respondido su pregunta? – Bart