Accueil > Forum > > > > structure de donnée à attribut variable
structure de donnée à attribut variable
jeudi 7 octobre 2010 à 17:05:27 |
structure de donnée à attribut variable

nassim1987
|
Bonjour,
je programme en c,et je voudrais avoir une structure de donnée avec pour chaque enregistrement un nombre nombre d'attribut variable et non fixé à la déclaration de la structure par exemple:
typedef struct{
type_attibut1 attribut1 ;
type_attibut2 attribut2;
type_attibut3 attribut3;
.
.
.
.
type_attributN attributN; } nom_structure ;
Voila je voudrais savoir comment faire pour déclarer cette structure avec N qui n'est pas une constante mais une variable puis comment lire et ecrire dans cette structure
Merci
|
|
jeudi 7 octobre 2010 à 17:51:25 |
Re : structure de donnée à attribut variable

TychoBrahe
|
Salut,
C'est impossible, par contre tu peux peut être essayer de faire une liste chaînée.
|
|
jeudi 7 octobre 2010 à 19:45:23 |
Re : structure de donnée à attribut variable

BruNews
|
En fait, on peut mais c'est hard à utiliser. Le DDK Windows en comporte de nombreux exemples.
Je t'en crée un:
typedef struct __BNVAR {
UINT64 v;
DWORD count;
DWORD tab[1];
} BNVAR, *LPBNVAR;
Si tu utilises:
BNVAR vr;
La structure est figée et sizeof(vr) = 16, hors de question d'allonger tab[].
Par contre:
LPBNVAR pvr;
err = MaFunc(LPBNVAR *pvr);
En ce cas MaFunc() fait l'alloc nécessaire pour n elems, faisons 4 on aura donc 16 + 12:
LPBNVAR p = (LPBNVAR) VirtualAlloc(0, 28, MEMDISPO, PAGE_READWRITE);
p->count = 4;
*pvr = p;
Ainsi appelant peut utiliser tab[0 - count-1].
Mettre un coup de VirtualFree() pour finir.
ciao...
BruNews, MVP VC++
|
|
jeudi 7 octobre 2010 à 21:02:52 |
Re : structure de donnée à attribut variable

TychoBrahe
|
@BruNews : si je ne m'abuse, ceci ne semble affecter que la taille d'un des membres (le tableau), pas le nombre de membres présents dans la structure, c'est bien ça ?
|
|
jeudi 7 octobre 2010 à 21:56:55 |
Re : structure de donnée à attribut variable

BruNews
|
OUI bien entendu dans l'exemple que j'ai fait.
A bien relire sa question, c'est CHAQUE membre qu'il voudrait variable. En ce cas effectivement une 'structure' n'est pas du tout ce qu'il faudrait.
ciao...
BruNews, MVP VC++
|
|
jeudi 7 octobre 2010 à 23:20:36 |
Re : structure de donnée à attribut variable

nassim1987
|
re salut,
je sais pas si vous avez compris mais je parle du nombre s'attribue à initialisation,en plus les attributs sont tous de même type(des doubles),je voudrais décider seulement au début à la déclaration, mais aprés tt mes enregistrement auront la méme taille
merci
|
|
vendredi 8 octobre 2010 à 08:24:22 |
Re : structure de donnée à attribut variable

BruNews
|
Si tous les membres sont du meme type et que leur nombre est inconnu, on fait un tableau et il n'y a plus aucun probleme.
ciao...
BruNews, MVP VC++
|
|
Cette discussion est classée dans : donnée, variable, type, structure, attribut
Répondre à ce message
Sujets en rapport avec ce message
type de donnée inconnu [ par jeffise57 ]
dans une fonction developper par une autre personne j'ai un type char** trucmuche, cette variable est un buffer qui doit recevoir le résultat qu'est c
Structure et attributs [ par cm0s ]
Hello,J'ai une ptite question est-il possible de remplacer un attribut par une variable quand on fait appele a une structure, je m'explique:cout chPre
structure d'un fichier video [ par jopop ]
Je cherche à connaître la structure d'un fichier video du type AVI, voire plus simple s'il en est. De la même manière que l'on trouve cette structure
Type de variable inconnu [ par LordBob ]
Bonjour a tous,voila je regarder un code est je suis tomber sur un type de variable que je ne connaissais pas, j'espère que vous pourrez m'aider !!!HI
conversion en unsigned long [ par flatou ]
voila j'ai un type de donnée défini comme suit :typedef unsigned long long my_ulonglong;#endifc'est un type de donnée MySQL. Or j'ai vu que pour utili
Pb avec variable char [ par enrageur ]
voila j'utilise des variables de type char. je l'initialise de la maniere suivante :char tab[256];Mon probleme est que j'aimerais initialiser le table
DLL et variables [ par CyberP ]
Voilà je voudrais donner la possibilitée à une dll d'appeler une fonction de l'application mèreDonc j'ai créé une structure que j'appelle PLUGINSYNC (
conversion de type!! [ par bub97 ]
je veux mettre une variable unsigned char dans une variable de type string mais voila que ceci me donne des caracteres plutot bizarre. AIDEZ MOI!!!PS:
Conversion de CString vers Int [ par DARKSIDIOUS ]
Bonjour à tous,J'ai un problème qui me turlupine depuis quelques heures : comment fait-on pour convertir des données d'une variables de type CString v
Comment faire pour une base de donnée [ par Gera182 ]
J'ai pour projet de faire un programme et il me faudrais une base de donnée type access ou autre pour connecter plusieurs ordinateurs distant grace a
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|