laetitiavincent
Messages postés61Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention19 janvier 2007
-
26 mai 2006 à 21:52
laetitiavincent
Messages postés61Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention19 janvier 2007
-
27 mai 2006 à 15:26
Bonjour
je souhaiterais faire une fonction dans laquelle j'ai une chaine de caractères que je voudrais renvoyée dans le menu principal. Comment puis-je faire? Quelqu'un pourrait me donner un exemple
Merci
Laetitia
A voir également:
Prog c : chaine en valeur de retour d'une fonction
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 26 mai 2006 à 23:11
Je comprend mais c'est que normalement, ce genre de fonction d'habitude, traite les chaines de caractère, il ne les créé pas. Tu vois ce que je veux dire?
___________________________________________
Les plus grands esprits trouvent toujours une solution
24Karas
Messages postés233Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 juillet 2008 26 mai 2006 à 23:21
bien sûr, mais imaginons que plus tard elle veuille faire des structures, ... c'est pas plus mal d'avoir une fonction d'alloc comme celle ci et ensuite une fonction de free.
m'enfin c'est pas grave hein, c'est juste pour montrer toutes les possibilités, ensuite elle fera son choix
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 27 mai 2006 à 00:12
24Karas ta fonction renvoie une valeur, mais la mémoire allouée n'est pas locale, donc c'est pas un bon contre exemple
Il est aussi possible de renvoyer un tableau local, le problème c'est qu'on doit l'utiliser directement ensuite, sinon il va être écrasé
exemple:
char* f()
{
char local[] = "toto";
return local;
}
char c[12];
strcpy(c, f());
Bien sur, ça n'a aucun intérêt, c'est pour ca que j'en parle
Pour les structures c'est pareil: en général on passe un pointeur en paramètre
Je pense qu'une fonction qui alloue de la mémoire sans la désallouer, c'est nul
La bonne solution est donc: passer un buffer en paramètre et le remplir dans la fonction