"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Entrée: comment puis-je déterminer la taille d'un tableau C ++ passé sous forme de pointeur vers une fonction? Sortie: comment déterminer la taille d'un paramètre du pointeur du tableau C ++?

Entrée: comment puis-je déterminer la taille d'un tableau C ++ passé sous forme de pointeur vers une fonction? Sortie: comment déterminer la taille d'un paramètre du pointeur du tableau C ++?

Publié le 2025-04-21
Parcourir:812

How Can I Determine the Size of a C   Array Passed as a Pointer to a Function?

Déterminer la taille d'un tableau d'un pointeur en c

Lorsque vous travaillez avec des tableaux en C, il peut être nécessaire de déterminer leur taille. Cependant, lors de la transmission d'un tableau en tant qu'argument fonction, il se désintègre dans un pointeur, ne laissant aucune information de taille explicite. Taille.

list.size ():
    Cette méthode ne peut pas être utilisée car elle n'est pas une fonction membre du type de tableau int.
  • Déterminer la taille correctement
  • L'approche correcte pour déterminer la taille d'un point à partir d'un pointeur est de passer la taille en tant que argument supplémentaire. Le plus grand (Int * List, int Highest_index) { // ... } Pour utiliser cette fonction, passez le tableau et sa taille comme arguments:
int array [] = {1, 2, 3, 4, 5}; int size = sizeof (array) / sizeof (int); // calculer la taille du tableau int max = plus grand (array, size);

équivalence array / pointeur

c hérite de l'équivalence array / pointeur de C, ce qui permet aux tableaux de se décomposer pour les pointeurs lorsqu'ils sont transmis aux fonctions. Ce comportement signifie que le pointeur ne contient aucune information de taille.
int largest(int *list, int highest_index)
{
  // ...
}
Disposition de la mémoire

Comprendre la disposition de la mémoire des tableaux est crucial. Lorsqu'un tableau est déclaré, la mémoire contigu est allouée pour stocker ses éléments. Le pointeur vers le premier élément implique le début du tableau, mais il ne porte pas d'informations sur sa taille.
int largest(int *list, int highest_index)
{
  // ...
}
Conclusion

pour déterminer avec précision la taille d'un tableau à partir d'un pointeur en C, il est nécessaire de passer la taille en tant qu'argument supplémentaire à la fonction qui traite le tableau. Cette approche garantit que la fonction a accès aux informations requises.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3