Page 1 sur 1

Tableau + chaine + pointeurs

Publié : mar. 31/janv./2006 11:07
par Dr. Dri
Résultat d'une séance de bidouilles
(c'est fou comme le PB devient souple =)

Code : Tout sélectionner

Structure Bytes
  b.b[0]
EndStructure

Dim *Array.Bytes(3)

*Array(0) = @"Salut"
*Array(1) = @"tu"
*Array(2) = @"vas"
*Array(3) = @"bieeeeen ?"

For i = 0 To 3
  c = 0
  While *Array(i)\b[c]
    Debug Chr( *Array(i)\b[c] )
    c + 1
  Wend
  Debug "---"
Next i
Dri :D

Publié : mar. 31/janv./2006 11:35
par Frenchy Pilou

Code : Tout sélectionner

Structure Bytes
  b.b[0]
EndStructure

Dim *Array.Bytes(3)

*Array(0) = @"Pas"
*Array(1) = @"mal"
*Array(2) = @"et"
*Array(3) = @"Toile à matelas?"

For i = 0 To 3
  c = 0
  While *Array(i)\b[c]
    Debug Chr( *Array(i)\b[c] )
    c + 1
  Wend
  Debug "---"
Next i
:lol:

Re: Tableau + chaine + pointeurs

Publié : jeu. 02/févr./2006 20:05
par lionel_om
Dr. Dri a écrit :*Array(0) = @"Salut"
Je savais pas qu'on pouvais faire ça... C'est génial !!!! 8)

Publié : jeu. 02/févr./2006 20:27
par CameleonTH
Moi aussi j'apprend des trucs

Publié : jeu. 02/févr./2006 23:13
par Backup
ça sert a rien !! ... :D .... enfin je crois

on peut faire pareille avec juste un tableau , et la fonction Mid() non ?? 8O

Publié : ven. 03/févr./2006 10:30
par Dr. Dri
C'est pas la question Dobro lol

1- On peut faire un tableau de pointeurs, je le savais pas avant d'essayer (par exemple c'est pas encore faisable avec les listes chainées)

2- On peut récupérer l'adresse des chaines statiques, je le savais pas non plus avant d'essayer.

3 - C'est juste un bout de code illustrant '1' et '2' ^^

Dri :D

Publié : ven. 03/févr./2006 11:34
par Chris
Dr. Dri a écrit :C'est pas la question Dobro lol

1- On peut faire un tableau de pointeurs, je le savais pas avant d'essayer (par exemple c'est pas encore faisable avec les listes chainées)

2- On peut récupérer l'adresse des chaines statiques, je le savais pas non plus avant d'essayer.

3 - C'est juste un bout de code illustrant '1' et '2' ^^

Dri :D
Ca a l'air interessant, mais reste quand même à définir à quoi ça peut servir!
T'as un exemple d'utilisation?

Publié : ven. 03/févr./2006 11:58
par nico
Dr. Dri a écrit :C'est pas la question Dobro lol

1- On peut faire un tableau de pointeurs, je le savais pas avant d'essayer (par exemple c'est pas encore faisable avec les listes chainées)

2- On peut récupérer l'adresse des chaines statiques, je le savais pas non plus avant d'essayer.

3 - C'est juste un bout de code illustrant '1' et '2' ^^

Dri :D

Je ne comprends pas ce que tu veux dire, toi qui manipule bien les pointeurs, tu sais qu'un tableau de chaines n'est ni plus ni moins qu'un tableau d'adresses.

Les listes chainées c'est que des pointeurs, qu'est - ce qu'on ne peut pas faire avec ?

Publié : ven. 03/févr./2006 12:01
par Backup
a la reflexion, je pense que c'est utile dans le "swaping" de variables ou indice de tableau, pour un traitement de trie par exemple
le fait de pouvoir jouer sur les pointeur sans toucher au contenu des cellule du tableau doit grandement accelerer le trie ...

.. du moins croyais-je !! ??? 8O :D

Publié : ven. 03/févr./2006 14:26
par lionel_om
Dobro a écrit :ça sert a rien !! ... :D .... enfin je crois
on peut faire pareille avec juste un tableau , et la fonction Mid() non ?? 8O
Ca sert à ça :

Code : Tout sélectionner

Procedure.s test(ptrChaine.l)
  ProcedureReturn PeekS(ptrChaine)
EndProcedure

;ancienne méthode :
  chaine$ = "Coucou"
  test(@chaine$)
;nouvelle méthode :
  test(@"Coucou")
On économise une ligne et une variable... :wink: