Je dois créer une structure dans une fonction (dynamiquement avec malloc) Ensuite, je dois être en mesure de l'envoyer à mon principal, et l'utiliser là. Je n'ai aucun problème à le créer, j'ai juste besoin d'aide pour l'envoyer à mon principal, et je ne suis pas sûr de la façon d'y accéder une fois que je l'ai là.Retour structure de la fonction (C)
struct retValue * fn() {
struct retValue
{
int number;
};
struct retValue* st = malloc(sizeof(*st));
return(???);
}
C'est le code que j'ai jusqu'à présent.
Merci pour toute aide. Faites-moi savoir si vous avez besoin de quelque chose de clarifié.
EDIT:
Ok Une clarification est nécessaire. Ce que j'essaye d'accomplir, est la capacité de passer une structure par l'intermédiaire d'une fonction à mon principal. Dans la fonction, je dois déclarer des variables et leur assigner des valeurs. Ensuite, dans l'ensemble, je dois imprimer chaque variable de la structure à l'écran. Aucune variable globale ne peut être utilisée (et donc je n'adopte aucune structure globale).
Espérons que cela clarifie les choses.
EDIT 2:
J'ai compris mon problème. Pour ceux qui étaient intéressés, j'avais besoin d'avoir le prototype de structure en dehors de mes fonctions en premier. Ensuite, je pourrais passer st et ensuite y accéder correctement. Merci à tous, et désolé pour la mauvaise formulation.
Les variables globales et les structures globales sont différentes. En définissant la structure def global, vous ne définissez qu'un type et non une variable. Si vous ne faites pas la structure def globale, les autres fonctions ne connaîtront rien de ce nouveau * type * et votre prg ne se compilera pas. – codaddict