Comment voir si un élément est nul dans un tableau en C?

Comment puis-je vérifier si un élément d’un tableau est vide en C?

if(array[i] == NULL) 

Ne semble pas fonctionner.

Que voulez-vous dire par vide ?

Lorsqu’un programme C est exécuté, les variables que vous n’avez pas explicitement initialisées ont des valeurs imprévisibles.

Vous devez définir toutes les cellules de votre tableau sur NULL (ou sur 0, ou sur n’importe quelle valeur représentant un vide dans la logique de votre programme). Vous pourrez ensuite le vérifier comme vous l’avez fait:

 int *array[3] = { NULL, NULL, NULL }; // array of three "empty" pointers ... for( i = 0; i < 3; ++ i ) { if( array[i] == NULL ) { // i-th cell is "empty" } } 

Question Réponse:

Ce que vous avez posté est le bon code.

Élaboration:

Si cela “ne semble pas fonctionner”, le problème ne réside peut-être pas à cet endroit de votre code. Si vous publiez un exemple plus complet de ce que vous avez, du comportement attendu du code et de son comportement réel, nous pourrons peut-être vous aider.

En supposant que ce array est bien un tableau de pointeurs, la seule ligne de code fournie doit en effet vérifier que l’élément à l’index i est NULL.

Notez toutefois que si votre tableau n’est pas correctement initialisé (c’est-à-dire: fournissez une valeur initiale à chaque cellule ), le tableau contient très probablement des déchets et votre condition finira probablement par être fausse.