*pointeur et structure

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

*pointeur et structure

Message par graph100 »

bonjour,

Et-il possible de coder un truc pour réaliser le code suivant (qui ne fonctionne pas, il représente ce que j'aimerais faire) ?

Code : Tout sélectionner

Structure exemple
    x.d
    y.d
    z.d
EndStructure

Structure LinkedList_exemple
    taille.l
    element_premier.l
    element_dernier.l
    *element_courrant.exemple ; <----ca coince la !!
    taille_element.l
EndStructure

*liste.LinkedList_exemple = AllocateMemory(5 * 4) ; on alloue 5 long de mémoire



*liste\taille = 10
*liste\element_premier = adresse mémoire
*liste\element_dernier = adresse mémoire
*liste\*element_courrant = AllocateMemory(SizeOf(exemple))
*liste\taille_element = SizeOf(exemple)

; exploitation :

*liste\*element_courrant\x = 64
*liste\*element_courrant\y = 106
*liste\*element_courrant\z = 209
le but est d'accéder aux données pointées par le sous pointeur *liste\*element_courrant
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: *pointeur et structure

Message par G-Rom »

tu veut refaire une liste chainée quoi :D

http://www.purebasic.fr/french/viewtopic.php?f=6&t=8401
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: *pointeur et structure

Message par graph100 »

c'est juste un exemple pour pouvoir poser mon problème.

je voudrais pouvoir coder un truc avec un pointeur dans une structure.
du genre :

Code : Tout sélectionner

structure exemple
  *pointeur1.point
  *pointeur2.point
endstructure
et pouvoir les exploiter comme suit :

Code : Tout sélectionner

*test.exemple = une adresse mémoire

*test\*pointeur1 = une autre adresse mémoire

*test\*pointeur1\x = blablabla
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: *pointeur et structure

Message par G-Rom »

la syntaxe est la suivante :
Structure ABCD
*Pointeur
endstructure

Var.ABCD
Var\Pointeur <--- pas '*' entre \ & Pointeur !! ;)
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: *pointeur et structure

Message par graph100 »

Code : Tout sélectionner

Structure exemple
    x.d
    y.d
    z.d
EndStructure

Structure LinkedList_exemple
    taille.l
    *element_courrant.exemple ; <----ca coince la !!
    taille_element.l
EndStructure

mem = AllocateMemory(5 * 4) ; on alloue 5 long de mémoire

*liste.LinkedList_exemple = mem
*liste\taille = 10

mem1 = AllocateMemory(SizeOf(exemple))

*liste\element_courrant = mem1
*liste\taille_element = SizeOf(exemple)

; exploitation :

*liste\element_courrant\x = 64
*liste\element_courrant\y = 106
*liste\element_courrant\z = 209

Debug mem
Debug *liste

Debug "-"
Debug PeekL(mem)
Debug PeekL(*liste)
Debug *liste\taille

Debug "--"
Debug PeekL(*liste + 4)
Debug *liste\element_courrant

Debug "---"
Debug mem1
Debug PeekD(mem1)
Debug *liste\element_courrant\x

Debug "----"
Debug PeekL(mem + 8)
Debug *liste\taille_element

Debug "-----"
Debug SizeOf(exemple)
Debug SizeOf(LinkedList_exemple)
Parfait ^^

merci ! (je m'étais trompé en testant, entre peekL() et peekD(), forcement, ca me retournais 0 -_- )
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Répondre