Necesito crear una estructura dentro de una función (dinámicamente con malloc) Entonces necesito poder enviarlo a mi principal, y usarlo allí. No tengo problemas para crearlo, simplemente necesito ayuda para enviarlo a mi página principal, y tampoco estoy seguro de cómo acceder una vez que lo tengo allí.Devolver estructura de la función (C)
struct retValue * fn() {
struct retValue
{
int number;
};
struct retValue* st = malloc(sizeof(*st));
return(???);
}
Ese es el código que tengo hasta ahora.
Gracias por cualquier ayuda. Avíseme si necesita algo aclarado.
EDIT:
Ok Se necesita alguna aclaración.
Lo que estoy tratando de lograr, es la capacidad de pasar una estructura a través de una función a mi principal. Dentro de la función, debo declarar variables y asignarles valores. Luego, en general, debo imprimir cada variable de la estructura a la pantalla. No se pueden usar variables globales (y por lo tanto no asumo estructuras globales).
Esperemos que aclare las cosas.
EDIT 2:
que he descubierto mi problema. Para aquellos interesados, primero necesitaba tener el prototipo de estructura fuera de mis funciones. Entonces podría pasar st y luego acceder correctamente. Gracias a todos, y perdón por la pobre redacción.
Las variables globales y las estructuras globales son diferentes. Al hacer que la estructura sea global, solo está definiendo un tipo, no una variable. Si no hace que la estructura sea global, otras funciones no sabrán nada sobre este nuevo * tipo * y su prg no compilará. – codaddict