Pointers’ Arithmetic
Why did we go deep into arrays while learning pointers? The fact is that the array’s name is a pointer to its first element.
We can get the address of the first element of the array by its name or by declaring the pointer:
12345int arr[5]{1, 2, 3, 4, 5}; int *p = &arr[0]; cout << p << endl; cout << arr << endl;
In other words, indexing is equivalent to adding (or substructing) to the pointer:
12cout << *(p+2) << endl; // equivalent to arr[2] cout << *(arr+2) << endl; // equivalent to arr[2]
The for loop we used to go through the arrays can also be used with pointers by adding 1 on each step, but we will use these feature pointers in work with functions and dynamic memory in the following sections.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Mi faccia domande su questo argomento
Riassuma questo capitolo
Mostri esempi dal mondo reale
Awesome!
Completion rate improved to 2.94
Pointers’ Arithmetic
Scorri per mostrare il menu
Why did we go deep into arrays while learning pointers? The fact is that the array’s name is a pointer to its first element.
We can get the address of the first element of the array by its name or by declaring the pointer:
12345int arr[5]{1, 2, 3, 4, 5}; int *p = &arr[0]; cout << p << endl; cout << arr << endl;
In other words, indexing is equivalent to adding (or substructing) to the pointer:
12cout << *(p+2) << endl; // equivalent to arr[2] cout << *(arr+2) << endl; // equivalent to arr[2]
The for loop we used to go through the arrays can also be used with pointers by adding 1 on each step, but we will use these feature pointers in work with functions and dynamic memory in the following sections.
Grazie per i tuoi commenti!