Contenu du cours
C++ Pointeurs et Références
C++ Pointeurs et Références
Connexion entre Tableaux et Pointers
Les tableaux et les pointeurs sont étroitement liés. Le nom d'un tableau peut être considéré comme un pointeur vers son premier élément.
main
#include <iostream> int main() { int arr[5] { 12, 21, 27, 10, 11 }; // Using dereference operator (`*`) to access the value std::cout << *(arr); }
Les tableaux sont généralement constitués par l'agencement d'éléments dans des blocs de mémoire contigus, où chaque élément est stocké dans des emplacements mémoire consécutifs. Cela permet l'application de l'arithmétique des pointeurs pour accéder à n'importe quel élément du tableau.
main
#include <iostream> int main() { float arr[5] { 2.7, 9.9, 1.0, 0.3, 2.2 }; std::cout << arr[3] << std::endl; std::cout << *(arr + 3) << std::endl; }
En fait, le compilateur effectue automatiquement cette opération. Il traduit les crochets de tableau en l'opérateur de déréférencement avec l'arithmétique des pointeurs avec un nom de tableau. Cela implique que l'ordre peut être modifié, permettant de placer l'index à l'extérieur des crochets tandis que le nom du tableau reste à l'intérieur des crochets (index[array_name]
).
main
#include <iostream> int main() { float arr[5] { 2.7, 9.9, 1.0, 0.3, 2.2 }; std::cout << 3[arr] << std::endl; }
Remarque
Respectez la syntaxe conventionnelle pour plus de clarté, cette forme peut déconcerter les lecteurs non familiers
Merci pour vos commentaires !