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.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 2.94
Pointers’ Arithmetic
Glissez pour afficher le 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.
Merci pour vos commentaires !