Dynamically allocated arrays code snippet
Summary
Source code
C++: dynamically_allocated_arrays.cpp
#include <iostream>
using namespace std;
int main() {
// (recalling static arrays)
// declare static array
int arr[3] = {1, 2, 3};
// print values stored in arr
for (int i = 0; i < 3; i++)
cout << "arr[" << i << "]: " << arr[i] << endl;
cout << endl;
// declare pointer to int
int *pArr;
// allocate memory for three integers
pArr = new int[3];
// assign values using square brackets []
pArr[0] = 1;
pArr[1] = 2;
pArr[2] = 3;
// three ways to print pArr contents
// (1)
for (int i = 0; i < 3; i++)
cout << "pArr[" << i << "]: " << pArr[i] << endl;
cout << endl;
// (2)
for (int i = 0; i < 3; i++)
cout << "*(pArr + " << i << "): " << *(pArr + i) << endl;
cout << endl;
// (3)
int *pIter = pArr;
for (int i = 0; i < 3; i++) {
cout << "*pIter: " << *pIter << endl;
pIter++;
}
// free memory
delete [] pArr;
return 0;
}
Sample run
C/C++
arr[0]: 1
arr[1]: 2
arr[2]: 3
pArr[0]: 1
pArr[1]: 2
pArr[2]: 3
*(pArr + 0): 1
*(pArr + 1): 2
*(pArr + 2): 3
*pIter: 1
*pIter: 2
*pIter: 3