begin process at 2010 03 18 10:34:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Passage structure en argument.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Passage structure en argument.

lundi 29 juin 2009 à 16:11:57 | Passage structure en argument.

macbang

Bonjour,
J'ai un petit problème avec mon programme.
Le but est de découper une chaine de caractère, puis de l'analyser dans une autre fonction.

je déclare tout d'abord une structure :
[code]
typedef struct infos
{
char *nom;
int *ID;
}infos;
[/code]

ensuite dans mon main j'initialise une structure de type infos :
[code]
infos eleves[50];
[/code]

j'appelle ma première fonction qui va lire dans un fichier texte et découper pour placer dans la structure
[code]
k = decoupe (eleves);
[/code]
j'appelle ma deuxieme fonction qui va compare la structure créée à une autre structure
[code]
comparaison(eleves,base);
[/code]
voici la déclaration des deux fonctions :
[code]
int decoupe(infos eleves);    (return 1)
int comparaison(infos eleves, infos base);  (return 1)
[/code]

Mon problème est le suivant :
La découpe s'effectue bien dans la première fonction. Toute les valeurs sont bien differentes.
Mais lorsque je printf dans mon main les variables de ma structure ,nom ou ID(avec une boucle for), je m'apercoi que toute les variables on la valeur du dernier remplissage. (si le nom du dernier élève était Dupont et son ID : 50 , alors tout les noms et ID de la structure observé dans le main seront DUPONT et 50 ).
J'aimerais pouvoir utiliser la structure correctement rempli par la première fonction, dans la deuxieme fonction.

D'ou vient le problème ?

Merci d'avance.


lundi 29 juin 2009 à 16:54:17 | Re : Passage structure en argument.

fregolo52

Membre Club

je crois qu'il faut que tu utilises un pointeur sur ton tableau de structure :
int decoupe(infos *eleves);
lundi 29 juin 2009 à 17:18:18 | Re : Passage structure en argument.

macbang

j'ai modifié mon programme de la manière suivants :

infos *eleves[50];

k = decoupe (&eleves[]);

int decoupe(infos *eleves);

pas d'erreurs lorsque je compile, mais le programme crash lors de l'appel de la fonction decoupe.
lundi 29 juin 2009 à 17:39:22 | Re : Passage structure en argument.

fregolo52

Membre Club

non faut faut juste changer le prototype de ta fonction :
infos eleves[50];

k = decoupe (&eleves);

int decoupe(infos *eleves);
lundi 29 juin 2009 à 21:04:46 | Re : Passage structure en argument.

CptPingu

Un tableau étant déjà en soi un pointeur:

infos eleves[50];
k = decoupe (eleves);
int decoupe(infos *eleves);

Suffit.
mardi 30 juin 2009 à 09:27:52 | Re : Passage structure en argument.

fregolo52

Membre Club

Oups, en effet j'ai écrit des conneries avec les pointeurs !!!


Cette discussion est classée dans : fonction, code, infos, structure, eleves


Répondre à ce message

Sujets en rapport avec ce message

fonction qui retourne une structure [ par lamiaa1984 ] Bonjour tout le Mondeje souhaite lire un ficher et mettre ses valeurs dans des variables, puis je veux affecter ces variable dans des variable d'une s Help, la fonction random en C [ par yahyaabba ] Salut, Je veut que qqn m'aide pour ecrire le code source de la fonction aleatoire random, qui genère un nombre entiers aleatoire. Je n'ai aucun idée [ Fonction atoi() [ par piche32 ] Bonjour, J'aurais besoin d'une explication sur la fonction atoi(). Je récupere un caractere grâce à un getchar() et j'aimerais avoir la valeur décimal VirtualProtect qui crash [ par TryToHelpMe ] Bonjour, après avoir lu plusieurs sources de ce site sur le hook de l'API, j'essaye de réaliser ma propre source, pour bien comprendre comment cela fo taille tableau de structure. [ par macbang ] Bonjour, Mon programme fonctionne très bien pour le moment. Le seul hic c'est que j'ouvre un fichier texte pour le découper ligne par ligne. Pour l'in Arbres binaires+bibliothèque [ par sebk12 ] Bonjour à tous!Voila j'ai un petit exercice (enfin pas si petit) qui me tracasse, ça fait que 6 mois que je fais du C donc je suis un peut perdu! Voil fonction dans dll qui fait planter programme [ par pitch069 ] Bonjour,je travail actuellement sur un code C++, sous dev c++. j'utilise une dll au travers d'un *.lib et dans mon programme principal je fais appel a CPP - probleme structure contenant pointeur sur fonction [ par poueted ] Bonjour tout le monde.J'ai une structure :struct Operation { BOOL (*op) (BOOL, BOOL); int rg_arg1, rg_a Fonction While multiple [ par oshin ] Salut tout le monde,J'ai un problème tout bête..Dans mon programme j'ai inclus une fonction "While(1)" donc infini.. le probleme c'est que lorsque le aide sur la fonction sizeof [ par miki42 ] Bonjour a tous j'ai besoin d'un peu d'aide je debute en C et je ne comprend pa une petite portion de code que j'etudie en ce moment a savoir: [CODE]


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales