Bonjour, je suis autodidacte C et je suis un peu confus au sujet du code suivant car je ne sais pas si je comprends bien le code. Je serais très reconnaissant si quelqu'un pouvait lire mon explication et me corriger si je me trompe.Utiliser des pointeurs avec des fonctions et des structures
Le code provient d'un fichier d'en-tête. La fonction du programme devrait être inintéressante à ce stade, puisque mon problème de compréhension concerne les pointeurs et les valeurs que les fonctions rendent en retour. Donc tout d'abord je déclare 3 tableaux de char et un nombre entier dans ma structure d'employé.
struct employee
{
char firstname[11];
char lastname[11];
char number[11];
int salary;
}
5 fonctions sont déclarées dans le fichier d'en-tête. La première fonction prend 4 valeurs (3 pointeurs et un int) et renvoie un pointeur vers une structure. La deuxième fonction obtient un pointeur sur le "struct struct" et renvoie un pointeur à un élément du tableau "char firstname" dans l'employé struct. Les fonctions 3 et 4 font la même chose pour les deux autres tableaux.
La fonction 5 obtient un pointeur sur l'opérateur struct mais renvoie un int et non un pointeur. Donc, il utilise simplement la variable déclarée dans la structure.
struct employee* createEmployee(char*, char*, char*, int); //1
char* firstname (struct Employee*); //2
char* lastname (struct Employee*); //3
char* number (struct Employee*); //4
int salary (struct Employee*); //5
Sans corps de fonction, il est difficile de dire ce qu'ils font, mais les signatures montrent ce que vous avez expliqué. Et quelle est la question? – khachik
Ma question est si mon explication est correcte. Je ne suis pas sûr si je comprends comment fonctionnent les pointeurs dans ce cas. – Ordo