begin process at 2012 02 12 17:24:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

malloc de structures


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

malloc de structures

jeudi 6 décembre 2007 à 13:41:57 | malloc de structures

lektrosonic

Voici ma structure:

typedef struct _user
{
 
    int index;
    int t_index;
    BOOL connected;
    char ip[32];
    BOOL p_protected;
    char u_name[32];
    struct _user *next;
 
} user;
 
typedef user* llist;

Quand je fait un malloc(sizeof(user)), mon programme plante: fenetre envoye ne pas envoye.
(je sais que c est le malloc qui le plante car quand je le met en commentaire, mon porgrame ne plante pas)

Une idee ?

Merci d'avance

l3KTr0 Was HeRe
jeudi 6 décembre 2007 à 15:18:21 | Re : malloc de structures

buno

Administrateur CodeS-SourceS
Salut,
Pas de souci chez moi.
Montres-nous ton appel pour voir, et l'utilisation que tu fais de ta structure.


Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
jeudi 6 décembre 2007 à 15:43:20 | Re : malloc de structures

lektrosonic

l'appel est ceci, dans cette fonction

llist add_user(llist linked_user,int indx,int t_indx,char* ipad,char* nam,BOOL prtcd,BOOL cnntd)
{
    auto llist new_user;
    new_user=malloc(sizeof(user));
    //memset((*new_user).ip,0,32);
    //memset((*new_user).u_name,0,32);
    //(*new_user).index=indx;
    //(*new_user).t_index=t_indx;
    //(*new_user).connected=cnntd;
    //strcpy((*new_user).ip,ipad);
    //(*new_user).p_protected=prtcd;
    //strcpy((*new_user).u_name,nam);
    //(*new_user).next=linked_user;
    //return new_user;
}

l3KTr0 Was HeRe
jeudi 6 décembre 2007 à 16:06:05 | Re : malloc de structures

buno

Administrateur CodeS-SourceS
Re,
Aucun souci...si ce n'est qu'il faut caster la sortie de malloc, comme suit:
new_user=(user *)malloc(sizeof(user));

Ptet un souci lors de l'affectation du pointeur next...
A part ça, je ne vois pas, désolé...

Nb: à quoi sert le mot clé "auto"? Je ne connais pas...


Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
jeudi 6 décembre 2007 à 16:10:19 | Re : malloc de structures

lektrosonic

 
Avec la casting ca ne marhe toujours pas..
auto cst une vielle habitude que j'ai pri, en C89, uen variable auto va etre detruite apres l execution de la fonction

merci en tt cas pour ton aide
l3KTr0 Was HeRe
jeudi 6 décembre 2007 à 16:19:29 | Re : malloc de structures

buno

Administrateur CodeS-SourceS
As-tu exécuter ton code pas-à-pas en débug? Sais-tu où ton appli plante?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
jeudi 6 décembre 2007 à 16:21:44 | Re : malloc de structures

lektrosonic

Oui j'ai execute pas a pas.
je sais que c est le malloc qui le plante car quand je le met en commentaire, mon porgrame ne plante pas
Quand je le compile en debug et que je lance a partir de visual sa marche, si je compile en dbug ou en release, et que je le lance a partir de windows sa plante au moment de l'apele du malloc

l3KTr0 Was HeRe
jeudi 6 décembre 2007 à 21:54:10 | Re : malloc de structures

wissemc

definition de structure:
exemple

struct nom_structure

{ int abc;
char nom[20];
} typedef struct nom_structure nouveau_nom;

pour reserver un zone mémoire en utilise la fonction malloc de la bibliotèque include<malloc.h>ou<stdlib.h>
donc la reservation est la suivant:
p=malloc(sizeof(nouveau_structure));
avec sizreof est une fonction qui renvoi la taille de structure en octé
et p un pointeur

vendredi 7 décembre 2007 à 13:08:17 | Re : malloc de structures

nickydaquick

Membre Club
Salut,

wissemc--> tu as dit tout vrai.
lektrosonic--> voici un truc que tu pourrais essayer, si ca plante je me defais du C pour de bon lol:

#include <malloc.h>
#include <string.h>

typedef struct _user
{
    char connected;
    char p_protected;
    int index;
    int t_index;
    struct _user *next;
    char ip[32];
    char u_name[32];
} user,*llist;

llist add_user(llist linked_user,int indx,int t_indx,char* ipad,char* nam,char prtcd, char cnntd)
{
    llist new_user = (llist)malloc(sizeof(user));
    if(!new_user)return 0; //des fois que l'allocation echouerait

    memset((*new_user).ip,0,32);
    memset((*new_user).u_name,0,32);
    (*new_user).index=indx;
    (*new_user).t_index=t_indx;
    (*new_user).connected=cnntd;
    if(ipad)strcpy((*new_user).ip,ipad);
    (*new_user).p_protected=prtcd;
    if(nam)strcpy((*new_user).u_name,nam);
    (*new_user).next=linked_user;
    return new_user;
}

J'espere avoir aide, Bonne chance

je suis heureux de faire partie d'une grande famille ...!
vendredi 7 décembre 2007 à 14:12:34 | Re : malloc de structures

lektrosonic

lol ben mauvaise nouvele pour toi et moi..lol
ton code ne marche, c est toujours le malloc qui foire (je l'ai mi en commentaire et ca ne plante pas)
je suis desesperee............

l3KTr0 Was HeRe

1 2

Cette discussion est classée dans : user, plante, structures, typedef, malloc


Répondre à ce message

Sujets en rapport avec ce message

structures imbriquées [ par draluorg ] Salut a tous,Je recontre un probleme en creant des structures imbriquées :(Voici un exemple type de mes structures:typedef struct _SUB_SUB_SUB_STRUCTU C - typedef - heritage ??? [ par txa ] Bonjour, Je programme en C et j'ai un petit probleme de conception: j'ai plusieurs structures (definie avec des typedef) DeviceVariable DeviceDmx utilisation de typedef et des structures en C [ par sandy27 ] je débute en C et je dois écrire un code C pour un modèle de simulation. Une norme m'impose de déclarer les entrées/sorties de mon modèle dans un fich probleme de static variable [ par Bason_sensei ] Bonjour, voila mon pbl : j'ai une classe user et je je veut le nombre de user. j'ai donc créer un varaible static nbUsers // User.h class User{     Modifier une variable environnement user ? [ par chuckboy ] BonjourLa question est dans le titre !J'ai une variable d'environnement utilisateur que j'aimerais modifier à partir mon programme comment puis-je fai Structures nommées incompréhensible ... à l'aide [ par otterc8 ] Bonjour, voila j'ai ce bout de code que je ne comprends pas top, malgré des recherches sur les structures, il y a des choses que je ne comprends pas! Malloc [ par GIRAFE ENRHUMEE ] Si j'ai une variable pointeur qui pointe sur une adresse, par exemple la variable *pc, et que je fais *pc = (*type)malloc(sizeof(type< Pointeurs et Tableau ansi que malloc [ par Hkz ] Bonjour à tous ;)     Alors voila pour mon prochaine programme j'ai besoin d'un tableau sans taille présise donc je me suis tourné vers les pointeurs Pb d'allocation mémoire malloc [ par oz80 ] Bonjour à tous, j'ai un problème d'allocation de mémoire je pense. Je déclare une variable comme ceci : <TBOD Problème de message [ par poireau2001 ] Bonjour J'ai un lecteur de carte. Il est fournit une dll avec. Lorsque l'on active cette dll, un Thread est crée. Il reçoit les interruptions du lect


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 3,198 sec (3)

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