0

Can we add a single number to an array that is allocated on heap memory ?

Today I started a C++ challenge with someone, and one of the five questions was a bit strange to me : int *data = new int [ 8 ]; for ( int i = 0; i < 8; i++ ) data [ i ] += i + 2; data += 2; What does the last line do ?? I mean data += 2. At first I wanted to google it, but I had no idea what I should search for :( please help me out.

10th Oct 2022, 6:02 PM
Ali_combination
Ali_combination - avatar
1 Resposta
+ 3
Initially data points to first location of the array that data[0] which is same as *data; (which returns 2) data += 2 causes the initial pointer advances to 2 pointer location so now data points to the 3rd element( 2nd index location), and now it is data[0] or *data ( now which returns 4) It is by pointer arithmetic. You can search by "Arrays and pointers arithmetic"
10th Oct 2022, 6:28 PM
Jayakrishna 🇮🇳