Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1047 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] fonctions void, pointeurs et creations de structurs (en m tps!!)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] fonctions void, pointeurs et creations de structurs (en m tps!!)

n°135249
Moriaben
Posté le 06-05-2002 à 13:08:02  profilanswer
 

voilà j'ai un ptit programme qui créé des chaines de structures
 
suivant un fichier txt, il créé et initialise des structures (avec des pointeurs sur la structure suivante) et j'ai un pointeur vers la 1ere structure. enfait j'aimerais mettre ce bout de code en fonction void, mais je sais pas quels parametres rentrer. Est-ce qu'il me suffira de mettre comme parametre le pointeur vers la 1ere structure (avec un & devant pour dire qu'il est modifié) ?? car dans ce sous-programme, il y a création de structures et j'en ai besoin par la suite
 
merci

mood
Publicité
Posté le 06-05-2002 à 13:08:02  profilanswer
 

n°135269
El_gringo
Posté le 06-05-2002 à 14:09:41  profilanswer
 

Moriaben a écrit a écrit :

voilà j'ai un ptit programme qui créé des chaines de structures
 
suivant un fichier txt, il créé et initialise des structures (avec des pointeurs sur la structure suivante) et j'ai un pointeur vers la 1ere structure. enfait j'aimerais mettre ce bout de code en fonction void, mais je sais pas quels parametres rentrer. Est-ce qu'il me suffira de mettre comme parametre le pointeur vers la 1ere structure (avec un & devant pour dire qu'il est modifié) ?? car dans ce sous-programme, il y a création de structures et j'en ai besoin par la suite
 
merci  




 
heu... tu veux pas essayer d'ê un chouilla + clair !? parce que perso, g rien compris à ce que tu veux faire ! Et je pense pas être le seul

n°135279
Moriaben
Posté le 06-05-2002 à 14:17:21  profilanswer
 

héhé ok je tente
 
j'ai un pointeur nommé "Pointeur" sur structure (le pointeur est simplement défini, rien d'autre)
je veux lancer un sous programme void(...)
dans ce sous-programme, je crée des structures chainées (des structures qui contiennent un champ "suivant" qui pointe vers la structure suivante) et le pointeur de départ pointe vers la 1ere structure
 
j'aimerais savoir quels parametres rentrer dans le void. si je rentre le pointeur avec un &, est-ce que ça suffira ? (dans le reste du programme, j'utilise ce pointeur pour accéder aux différentes structures)
 
 
si je fais :
void Initialisation(TypPtrStruct & Pointeur)
 
ça marchera ?

n°135293
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 06-05-2002 à 14:27:25  profilanswer
 

Moriaben a écrit a écrit :

héhé ok je tente
 
j'ai un pointeur nommé "Pointeur" sur structure (le pointeur est simplement défini, rien d'autre)
je veux lancer un sous programme void(...)
dans ce sous-programme, je crée des structures chainées (des structures qui contiennent un champ "suivant" qui pointe vers la structure suivante) et le pointeur de départ pointe vers la 1ere structure
 
j'aimerais savoir quels parametres rentrer dans le void. si je rentre le pointeur avec un &, est-ce que ça suffira ? (dans le reste du programme, j'utilise ce pointeur pour accéder aux différentes structures)
 
 
si je fais :
void Initialisation(TypPtrStruct & Pointeur)
 
ça marchera ?  




 
Si j'ai bien compris, TypPtrStruct est un type de pointeur sur le type de structure. Si c'est le cas, le proto de ta fonction Initialisation est correcte.
 
PS : En général, on fait commencer les identifiants par une majuscule seulement pour le nom des classes.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°135297
Moriaben
Posté le 06-05-2002 à 14:31:10  profilanswer
 

donc à la fin de la fonction, mon pointeur pointera bien vers une structure concrete (qui elle meme pointera vers une structure) ?

Tetragrammaton IHVH a écrit a écrit :

 
 
Si j'ai bien compris, TypPtrStruct est un type de pointeur sur le type de structure. Si c'est le cas, le proto de ta fonction Initialisation est correcte.
 
PS : En général, on fait commencer les identifiants par une majuscule seulement pour le nom des classes.  



n°135303
El_gringo
Posté le 06-05-2002 à 14:33:25  profilanswer
 

Moriaben a écrit a écrit :

héhé ok je tente
 
j'ai un pointeur nommé "Pointeur" sur structure (le pointeur est simplement défini, rien d'autre)
je veux lancer un sous programme void(...)
dans ce sous-programme, je crée des structures chainées (des structures qui contiennent un champ "suivant" qui pointe vers la structure suivante) et le pointeur de départ pointe vers la 1ere structure
 
j'aimerais savoir quels parametres rentrer dans le void. si je rentre le pointeur avec un &, est-ce que ça suffira ? (dans le reste du programme, j'utilise ce pointeur pour accéder aux différentes structures)
 
 
si je fais :
void Initialisation(TypPtrStruct & Pointeur)
 
ça marchera ?  




 
La meilleure des choses en programmation, pour savoir si un truc marchera, c d'essayer !
tu veux faire
 void Initialisation(TypPtrStruct & Pointeur)
pour la déclaration de ta fonction !?

n°135307
Moriaben
Posté le 06-05-2002 à 14:36:53  profilanswer
 

el_gringo a écrit a écrit :

 
 
La meilleure des choses en programmation, pour savoir si un truc marchera, c d'essayer !
tu veux faire
 void Initialisation(TypPtrStruct & Pointeur)
pour la déclaration de ta fonction !?  




 
beh à priori oui, je veux lancer une fonction qui me crée des structures et en dehors de la fonction, si j'utilise "Pointeur" je veux avoir accès à toutes les structs crées pdt la fonction (alors qu'avant la fonction, "Pointeur" ne pointait sur rien du tout)

n°135314
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 06-05-2002 à 14:45:21  profilanswer
 

Moriaben a écrit a écrit :

donc à la fin de la fonction, mon pointeur pointera bien vers une structure concrete (qui elle meme pointera vers une structure) ?
 




 
Le '&' que tu mets derriere 'TypPtrStruct' signifie que tu passes la variable 'Pointeur' par référence, c'est à dire que l'appelant peut récuperer une valeur de la variable modifiée par la fonction.
 
Donc dans ta fonction Initialisation, tu vas faire à un moment donné un truc du style :
 
Pointeur = pointeur_Vers_Une_Structure_Initialisé;
 
et le programme qui va appeler la fonction pourra donc récuperer la valeur modifiée par la fonction. Sans le '&', la valeur n'est pas modifiée.
 
 
Autre méthode : tu pouvais aussi faire :
 
TypPtrStruct Initialisation() {
    TypPtrStruct monPointeur;
    // initialisation de monPointeur    
    // blabla
 
    return monPointeur;
}
 
Ca a l'avantage d'être sans ambiguité puisque la valeur retournée est forcement.... une valeur de retour ;)


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°135320
Moriaben
Posté le 06-05-2002 à 14:51:32  profilanswer
 

ok ... donc les structures crées pdt la fonction void ne sont pas supprimées quand cette meme fonction se termine right ?
c'est juste que si y'avait pas le '&', le pointeur n'aurait pas été modifié et donc je n'aurai pas eu accès à ces structures

n°135325
Moriaben
Posté le 06-05-2002 à 14:59:25  profilanswer
 

j'ai un autre probleme maintenant ..
 
après compilation, j'ai 0 erreurs 0 warnings, mais si je fais un ptit test d'affichage ça affiche rien du tout !!!

mood
Publicité
Posté le 06-05-2002 à 14:59:25  profilanswer
 

n°135326
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 06-05-2002 à 15:00:12  profilanswer
 

Moriaben a écrit a écrit :

ok ... donc les structures crées pdt la fonction void ne sont pas supprimées quand cette meme fonction se termine right ? (1)
 
c'est juste que si y'avait pas le '&', le pointeur n'aurait pas été modifié et donc je n'aurai pas eu accès à ces structures (2)




 
1 : Ouaip si tu les alloues avec new
2 : Ouaip  :jap:

 

[jfdsdjhfuetppo]--Message édité par Tetragrammaton IHVH le 06-05-2002 à 15:02:31--[/jfdsdjhfuetppo]


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] fonctions void, pointeurs et creations de structurs (en m tps!!)

 

Sujets relatifs
[C++] Comment utiliser les fonctions memcmp ???[VB.net] créer des fonctions copier coller sur un éditeur
php, include et fonctions...[C] Comment ca marche un systeme de listes et pointeurs?
[C++] question bête sur la programmation et les pointeurs...[C] Systeme de listes et pointeurs
[ALGO] question de débutant sur les fonctions...[C] Fonctions avec n arguments
[Pascal] nombre limite de valeurs en pointeurs[C] Vecteurs et fonctions
Plus de sujets relatifs à : [C++] fonctions void, pointeurs et creations de structurs (en m tps!!)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR