Fonction assert?

Résolu
steflemaister Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
 java4ever -
Bonjour,

Je me demandais à quoi sert exactement la fonction assert, j ai peur de ne pas comprendre!
Ici je crée une liste vite avec un retour de son adresse:

LISTE *pliste;

pliste=(LISTE) * malloc(sizeof(LISTE);

assert(pliste);

(*pliste).pdebut=NULL;
(¨pliste).pfin=NULL;
return pliste;

merci

1 réponse

java4ever
 
Bonjour,

assert(expression logique) en C sert à vérifier une assertion, et si l'expression passée en paramètre est fausse, déclenche une exception et affiche un messge d'erreur. Si l'exception n'est pas capturée, il y a sortie du programe.

Tu peux facilement vérifier ce que ça fait en faisant dans ton code (juste pour voir, après tu l'enlève!)

assert(pListe != 0)
En principe, assert ne fait rien si on est pas en mode DEBUG (NDEBUG = 0)

assert est surtout à utiliser en phase de mise au point d'un programme. Ceci dit, ce n'est pas forcément gênant de le laisser dans les versions de production, puisqu'il ne fait rien si NDEBUG = 0, ce qui est le cas pour les versions de production.
23