single
Cas d'Utilisation des Pointeurs
Glissez pour afficher le menu
Lorsque vous transmettez une variable à une fonction, vous transmettez essentiellement sa valeur. Cela signifie que la fonction reçoit une copie des données. Toute modification effectuée à l'intérieur de la fonction n'affecte pas la variable d'origine.
main.cpp
12345678910#include <iostream> void increment(int num) { num++; } int main() { int num = 5; increment(num); std::cout << "Original value: " << num << std::endl; }
Nous pouvons utiliser des pointeurs pour permettre à une fonction de modifier la variable d'origine. Cela implique de transmettre une adresse mémoire en argument au lieu de la valeur réelle.
main.cpp
123456789101112#include <iostream> void increment(int* num) { (*num)++; } int main() { int num = 5; int* p_num = # increment(p_num); std::cout << "Original value: " << num << std::endl; }
Il est possible d’éviter la création d’un pointeur vers une variable et d’utiliser directement l’opérateur adresse de lors du passage d’une variable.
Glissez pour commencer à coder
Écrire une fonction qui échange les valeurs de deux variables entières à l'aide de pointeurs.
- Créer une fonction
swapqui prend en paramètres deux pointeurs vers des entiers. - À l'intérieur de la fonction, utiliser une variable temporaire pour stocker la valeur de la première variable.
- Affecter la valeur de la seconde variable à la première variable en utilisant la déréférenciation de pointeur.
- Affecter la valeur de la variable temporaire à la seconde variable en utilisant la déréférenciation de pointeur.
- Dans
main, appelerswapen passant les adresses des deux variables.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion