Page 1 sur 1

Pb de Struct et de pointeurs

Publié : mer. 27/juil./2005 11:18
par lionel_om
Bonjour à tous.

Dans un programme j'utilise plusieurs variables (non globales) de type différents : myStrct1, myStrct2...

Je veux réunir toutes les adresses mémoires de ces structures dans une nouvelle structure du type :

Code : Tout sélectionner

Structure All
  var1.struc1
  var2.struct2
  ...
EndStructure
Mais comment on fait pour assigner une variable à cette dernière structure ?

Code : Tout sélectionner

v1.struct1
all.All
all\var1 = v1
J'ai essayé avec des @ et des *. Mais je ne trouve pas ! :oops:

Merci d'avance...

Publié : mer. 27/juil./2005 11:47
par lionel_om
Non c'est bon j'ai trouvé.
Pour faire ça faut déclarer des pointeurs vers structures :
*var1.struct1

on peut alors faire *var1 = @All\struct1

Publié : mer. 27/juil./2005 11:50
par nico

Code : Tout sélectionner

Structure struc1
  a.l
  b.l
EndStructure 
 

Structure All 
  var1.struc1 
  var2.struct2 
  ;... 
EndStructure

v1.struct1
 
all.All 
all\var1 = @v1\a
all\var1 = @v1\b

Publié : mer. 27/juil./2005 12:47
par lionel_om
Non, jamais déjà essayé, mais ca marche pas :
Erreur : all\var1 = @v1\a
Can't assign a value to a structure...
:?

Publié : mer. 27/juil./2005 12:53
par Dr. Dri
c'est parce que all\var1 représente une adresse, que ce soit un pointeur ou non. Si ce n'est pas un pointeur (donc un entier long) c'est que c'est une structure "complexe" donc on ne peut pas lui affecter un long.

En espérant être clair ^^

Dri ;)

Publié : mer. 27/juil./2005 13:31
par lionel_om
Oui, pour faire ce genre d'opération, on ne peut affecter que des pointeurs de structures.
J'ai fais qq tests et j'ai mieux compris tt ça !! :D