Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment utiliser un pointeur ?
auteur : Comtois
Pour définir un pointeur, on utilise le symbole * . On peut définir un pointeur sur différents types de données. En fait le type de données pointées importe peu et il s'agit surtout d'une commodité pour le programmeur, car comme le pointeur est une adresse, elle peut pointer sur n'importe quoi indifféremment.

Note : A l'inverse du C/C++, en PureBasic l'* fait partie intégrante du nom de la variable. Aussi ptr et *ptr sont deux variables bien distinctes. ptr est une variable (régulière) contenant une valeur, *ptr est une autre variable de type pointeur contenant une adresse.

On utilise l'opérateur @ pour récupérer l'adresse d'une variable.

Le pointeur contient un entier indiquant l'adresse des données vers lesquelles il pointe. Si on effectue une opération sur ce pointeur, on modifie l'adresse et non les données pointées. Il faudra donc utiliser une structure pour accéder aux données pointées.

Define.long *ptr; On crée un pointeur <br/>
Define.l n ; Et un entier n 
n=10 ; A partir d'ici, on a n=10 
*ptr = @n ;  *ptr contient maintenant l'adresse de la variable n 
*ptr\l + 5  ;   Grâce au pointeur '*ptr' on peut modifier la valeur de n 
; Arrivé ici, n vaut 15 

Comment faire un pointeur de fonction ?
auteur : Comtois
En utilisant le mot clé Prototype.
Par défaut, la fonction utilisera la convention d'appel 'stdcall'. Si le pointeur de fonction appelle une fonction C utilisant la convention d'appel 'cdecl', PrototypeC est fortement conseillé.

Procedure.f MaProcedure(a.f,b.f)
  ProcedureReturn a*b
EndProcedure

Prototype.f MonProto(a.f,b.f=2) ; Définition d'un prototype avec un paramètre par défaut

Define.MonProto Truc

Truc=@MaProcedure() ; Récupère l'adresse de la procédure

Debug Truc(3.0) ; le paramètre par défaut est facultatif

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2008  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com