Tableaux et fonctions
Fait partie de la section Fondamentaux du Journey C++ de Coddy. Leçon 62 sur 74.
Les tableaux ne peuvent pas être transmis directement aux fonctions en tant que tableaux complets. Lorsque vous essayez de transmettre un tableau à une fonction, il « décroît » en un pointeur vers son premier élément.
Par exemple :
int numbers[5] = {1, 2, 3, 4, 5};
void processArray(int arr[]) {
int size = std::size(arr);
}std::size(arr) ne compile pas ici, car arr est en réalité un pointeur, et un pointeur ne stocke pas la taille du tableau. Les pointeurs seront étudiés dans le prochain cours.
C’est pourquoi, lorsque nous transmettons des tableaux à des fonctions, nous devons généralement transmettre la taille en tant que paramètre distinct :
void processArray(int arr[], int size) {
// Nous pouvons maintenant manipuler le tableau en toute sécurité à l’aide du paramètre size
}Voici comment appeler la fonction :
int numbers[5] = {1, 2, 3, 4, 5};
processArray(numbers, 5);De plus, il n’est pas possible de retourner un tableau dans une fonction :
int[] processArray(int arr[]) {
return arr;
}Ceci est illégal. À la place, tu devrais utiliser la syntaxe * :
int* processArray(int arr[]) {
return arr;
}
int* newArr = processArray(arr);La syntaxe de l’astérisque (*) fait référence aux pointeurs, qui seront abordés dans le prochain cours.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Bases des entrées/sorties
Instruction coutInstruction cinSaisie de chaînes de caractèresRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux3Variables - Partie 2
Déclaration de typeConventions de nommageRécapitulatif - Initialisation des variablesType Casting - Partie 1Type Casting - Partie 26Prise de décision
L'instruction IfIf - ElseL'instruction SwitchOpérateur conditionnelRécapitulatif - If ElseIf - Else imbriquésEntraînez-vous par vous-même : Compilateur C++ en ligne