Cela fait partie de mon code:Pourquoi la longueur de la matrice est-elle toujours la même après realloc?
array = (int *) malloc(5*sizeof(int));
il est initialisées et a des valeurs, je saute cette étape ici pour plus d'espace. Ce que je voulais accomplir ici est de supprimer le premier membre du tableau et de déplacer le tableau entier d'un pas vers la gauche. Pourtant lorsque je tente de vérifier la longueur du tableau en utilisant:
strlen(array);
-je obtenir la valeur 5. Il semble que realloc ne fonctionne pas correctement, parce que quand j'essaie aussi d'imprimer le cinquième élément d'un tableau, qui devrait être après realloc hors gamme de tableaux, il imprime la valeur que je lui ai précédemment donnée. Comment est-ce possible? Est-ce que quelqu'un peut me dire où je me trompe et qu'est-ce qui me manque?
1) Un pointeur n'est pas un tableau. 2) C n'a pas de type de chaîne distinct. 3) Que dit votre livre C sur les chaînes strlen et C en général? Qu'avez-vous trouvé par une simple recherche? – Olaf
Pourquoi appliquez-vous 'strlen' à ce qui semble être un tableau de' int's? Qu'est-ce que vous attendez de «strlen» à faire dans ce cas? Et qu'est-ce que le compilateur vous a dit à propos de votre expression 'strlen (array)'? – AnT