# C++ Arrays

#### Multidimensional

``````     j0   j1   j2   j3   j4   j5
ââââââ¬âââââ¬âââââ¬âââââ¬âââââ¬âââââ
i0 | 1  | 2  | 3  | 4  | 5  | 6  |
ââââââ¼âââââ¼âââââ¼âââââ¼âââââ¼âââââ¤
i1 | 6  | 5  | 4  | 3  | 2  | 1  |
ââââââ´âââââ´âââââ´âââââ´âââââ´âââââ
``````

``````int x[2][6] = {
{1,2,3,4,5,6}, {6,5,4,3,2,1}
};
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 6; ++j) {
std::cout << x[i][j] << " ";
}
}
// Outputs: 1 2 3 4 5 6 6 5 4 3 2 1
``````

#### Displaying

``````char ref[5] = {'R', 'e', 'f'};
// Range based for loop
for (const int &n : ref) {
std::cout << std::string(1, n);
}
for (int i = 0; i < sizeof(ref); ++i) {
std::cout << ref[i];
}
``````

#### Manipulation

``````âââââââ¬ââââââ¬ââââââ¬ââââââ¬ââââââ¬ââââââ
| 92  | 97  | 98  | 99  | 98  | 94  |
âââââââ´ââââââ´ââââââ´ââââââ´ââââââ´ââââââ
0     1     2     3     4     5
``````

``````std::array<int, 6> marks = {92, 97, 98, 99, 98, 94};
// Print first element
std::cout << marks[0];
// Change 2th element to 99
marks[1] = 99;
// Take input from the user
std::cin >> marks[2];
``````

#### Declaration

``````std::array<int, 3> marks; // Definition
marks[0] = 92;
marks[1] = 97;
marks[2] = 98;
// Define and initialize
std::array<int, 3> = {92, 97, 98};
// With empty members
std::array<int, 3> marks = {92, 97};
std::cout << marks[2]; // Outputs: 0
``````