int lkey(LLIST**, void * , int
, char *,...)
|
R1
lkey( P1 , P2
, P3 , P4, P5,
, , , , , , , ,Pn
) |
- Elle permet de déclarer un nombre illimité
(*) de clés sur une liste P1.
-
- (*) Cela dépend de
la mémoire de la machine que l'on a !!
En entrée :
CHAR |
"%c" |
SHORT |
"%h" |
INT |
"%i" |
INT |
"%d" |
LONG |
"%l" |
FLOAT |
"%f" |
DOUBLE |
"%g" |
STRING |
"%s" |
-
De même : "%10i"
correspond à un tableau de 10 entiers.
-
"%10c" identique à "%10s".Donc
"%s" correspond à 1 caractères !! ( = "%1c"
).
Il est possible d'ajouter des nouveaux types avec la fonction ladd_type.
En sortie : (Voir
codes retour)
- R1 : LOK
( tout est bon !!)
- R1 : LNOK erreur
dans les paramètres !!
- R1 : NLD la liste
n' est pas initialisée.
Remarque :
- Après l'appel de cette fonction, la clef
d'origine déclarée par la fonction initlist
n'a plus cours elle est remplacée par celle-ci sauf en cas d'inhibition
( voir UnSetBKey ).
- Si on utilise 2 fois le même numéro
de clef P3 on ne mémorisera que la dernière
déclaration.
- La clef en cours correspond toujours à
la dernière clef déclarée.
- La déclaration d'une clés, en
cours de programme n'influe pas sur la liste sauf après l'utilisation
de certaines fonctions. Il ne s'agit que d'une définition , il
n'y a pas de dédoublement de liste en mémoire !!!!
- Il n'y a pas de test sur la valeur de P3,
donc P3 peut être négatif, nulle
ou positif. MAIS il est préférable
de ne prendre que des numéro strictement supérieur à
zéro, pour ne pas interférer avec les codes d'erreurs !!
- Il
est préférable de faire les déclarations des clés
juste
après la déclaration de la liste par initlist.
- Une
fois déclarée la clef ne peut être détruite, elle
ne peut qu'être remplacée par une nouvelle définition
( avec le même numéro P3 ).
- La
déclaration de clés par la fonction lkey permet de faire des
tris ou des recherches dans une liste sur de multiples critères !!.
Garantie:
- Toutes les fonctions utilisant une clef, utiliserons
celle-ci.
Voir aussi :
exemple
008
SetBKey(LLIST **,int ) GetBKey(LLIST **) UnSetBKey(LLIST **) ladd_type(char *,char ,int )