begin process at 2012 05 30 12:06:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

structure de donnée à attribut variable


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

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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



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

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