Conteúdo do Curso
C++ Pointers and References
C++ Pointers and References
Arrays and Pointers Connection
Arrays and pointers are closely connected. The name of an array can be treated as a pointer to its first element. Look at the example below:
main
#include <iostream> int main() { int arr[5] { 12, 21, 27, 10, 11 }; // using dereference operator (*) to access the value std::cout << *(arr); }
Arrays are typically formed by arranging elements in contiguous memory blocks, where each element is stored in consecutive memory locations. This enables the application of pointer arithmetic to access any element within the array.
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; }
In fact, the compiler automatically performs this operation. It translates array brackets into the dereference operator with pointer arithmetic with an array name. This implies that the order can be changed, allowing the index to be placed outside the brackets while the array name remains inside the brackets (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; }
Note
Stick to conventional syntax for clarity, this form may confuse unfamiliar readers
Obrigado pelo seu feedback!