Bonjour, comme il est dit dans le intitulé j'aimerais bien savoir s'il y a moyen de tester si son tableau est vide
j'ai essayé
ceci
mais ça n'a pas l'air de marcherCode:if(array==NULL)
Merci d'avance.
Version imprimable
Bonjour, comme il est dit dans le intitulé j'aimerais bien savoir s'il y a moyen de tester si son tableau est vide
j'ai essayé
ceci
mais ça n'a pas l'air de marcherCode:if(array==NULL)
Merci d'avance.
Code:if (array[0] == NULL)
ou
Code:
1
2
3
4
5
6 int entries = 0, i; for (i = 0; array[i] != NULL; i++) entries++; if (entries) printf("Le tableau contient %d données", entries);
merci
salut,
je suis pas d'accord avec toi InitSreen, ça veut dire qu'on ne peut pas avoir de tableau "rempli de zéros" par exemple, ou simplement avec au moins un zéro à l'intérieur, si je décide de mettre admettons les pixels d'une image dans un tableau à deux dimensions ta méthode ne tient plus
à mon sens on ne peut pas à proprement parler déterminer si un tableau est "vide" en C, vérifier si le pointeur est NULL permet uniquement de savoir si le pointeur est attaché à une zone mémoire ou non, si on part du principe que le "vide" correspond à un zéro, la seule façon de vérifier qu'un tableau est vide est de le parcourir - en tenant compte de son type - et vérifier valeur par valeur qu'elles valent *toutes* zéro, ce qui correspondrait plutôt à quelque chose du genre :
donc réponse courte : pour vérifier qu'un tableau est vide en C, il faut connaitre sa taille et vérifier chaque case du tableau.Code:
1
2
3
4
5
6 for (int i = 0; i < TAILLE; i++) { if (tab[i]) { /* PAS VIDE */ } } /* OK, VIDE */
Il faut surtout savoir ce que le tableau est censé contenir et ce qui est censé compter comme "vide".
@BufferBob: pas faut mais je me suis basé sur l'exemple qu'il a donné. J'ai supposé que la fin du tableau était définit par NULL.