In this tutorial, we will learn to work with arrays. We will learn to announce, introduce, and access array components in C++ programming with the help of examples.
In C++, an array is a variable that can store various estimations of a similar sort. For instance,
Suppose a class has 27 understudies, and we have to store the evaluations of every one of them. Rather than making 27 separate factors, we can basically make an array:
double grade[27];
Here, grade is an array that can hold a maximum of 27 elements of double type.
In C++, the size and type of arrays cannot be changed after its declaration.
In this article, you will learn-
- 1 C++ Array Declaration
- 2 Access Elements in C++ Array
- 3 C++ Array Initialization
- 4 C++ Array With Empty Members
- 5 How to insert and print array elements?
- 6 Example 1: Displaying Array Elements
- 7 Example 2: Take Inputs from User and Store Them in an Array
- 8 Example 3: Display Sum and Average of Array Elements Using for Loop
- 9 C++ Array Out of Bounds
C++ Array Declaration
dataType arrayName[arraySize];
For example,
int x[6];
Here,
int – type of element to be stored
x – name of the array
6 – size of the array
Access Elements in C++ Array
In C++, every component of an array is related to a number. The number is known as an exhibit list. We can get to components of an exhibit by using those indices.
// syntax to access array elements
array[index];
Consider the array x we have seen above.
Few Things to Remember:
The array indices start with 0. Meaning x[0] is the first element stored at index 0.
If the size of an array is n, the last element is stored at index (n-1). In this example, x[5] is the last element.
Elements of an array have consecutive addresses. For example, suppose the starting address of x[0] is 2120d. Then, the address of the next element x[1] will be 2124d, the address of x[2] will be 2128d, and so on.
Here, the size of each element is increased by 4. This is because the size of int is 4 bytes.
C++ Array Initialization
In C++, it’s possible to initialize an array during declaration. For example,
// declare and initialize and array
int x[6] = {19, 10, 8, 17, 9, 15};
Another method to initialize array during declaration:
// declare and initialize an array
int x[] = {19, 10, 8, 17, 9, 15};
Here, we have not referenced the size of the exhibit. In such cases, the compiler automatically computes the size.
C++ Array With Empty Members
In C++, if an array has a size n, we can store up to n number of elements in the array. However, what will happen if we store less than n number of elements.
For example,
// store only 3 elements in the array
int x[6] = {19, 10, 8};
Here, the array x has a size of 6. Notwithstanding, we have instated it with just 3 components.
In such cases, the compiler appoints irregular qualities to the rest of the spots. Frequently, this arbitrary value is just 0.
How to insert and print array elements?
int mark[5] = {19, 10, 8, 17, 9}
// change 4th element to 9
mark[3] = 9;
// take input from the user
// store the value at third position
cin >> mark[2];
// take input from the user
// insert at ith position
cin >> mark[i-1];
// print first element of the array
cout << mark[0];
// print ith element of the array
cout >> mark[i-1];
Example 1: Displaying Array Elements
#include <iostream>
using namespace std;
int main() {
int numbers[5] = {7, 5, 6, 12, 35};
cout << "The numbers are: ";
// Printing array elements
// using range based for loop
for (const int &n : numbers) {
cout << n << " ";
}
cout << "\nThe numbers are: ";
// Printing array elements
// using traditional for loop
for (int i = 0; i < 5; ++i) {
cout << numbers[i] << " ";
}
return 0;
}
Output
The numbers are: 7 5 6 12 35
The numbers are: 7 5 6 12 35
Here, we have used a for loop to iterate from i = 0 to i = 4. In each iteration, we have printed numbers[i].
We again used a range-based for loop to print out the components of the array.
Note: In our range based loop, we have used the code const int &n rather than int n as the range revelation. Notwithstanding, the const int &n is more favored in light of the fact that:
1. Using int n basically duplicates the exhibit components to the variable n during every emphasis. This isn’t memory-effective.
&n, in any case, utilizes the memory address of the cluster components to get to their information without duplicating them to another variable. This is memory-productive.
2. We are just printing the exhibit components, not adjusting them. Consequently, we use const so as not to inadvertently change the estimations of the array.
Example 2: Take Inputs from User and Store Them in an Array
#include <iostream>
using namespace std;
int main() {
int numbers[5];
cout << "Enter 5 numbers: " << endl;
// store input from user to array
for (int i = 0; i < 5; ++i) {
cin >> numbers[i];
}
cout << "The numbers are: ";
// print array elements
for (int n = 0; n < 5; ++n) {
cout << numbers[n] << " ";
}
return 0;
}
Output
Enter 5 numbers:
11
12
13
14
15
The numbers are: 11 12 13 14 15
Once again, we have used a for loop to repeat from I = 0 to I = 4. In every cycle, we took a contribution from the user and stored it in numbers[i].
At that point, we used another for loop to print all the array elements.
Example 3: Display Sum and Average of Array Elements Using for Loop
#include <iostream>
using namespace std;
int main() {
// initialize an array without specifying size
double numbers[] = {7, 5, 6, 12, 35, 27};
double sum = 0;
double count = 0;
double average;
cout << "The numbers are: ";
// print array elements
// use of range-based for loop
for (const double &n : numbers) {
cout << n << " ";
// calculate the sum
sum += n;
// count the no. of array elements
++count;
}
// print the sum
cout << "\nTheir Sum = " << sum << endl;
// find the average
average = sum / count;
cout << "Their Average = " << average << endl;
return 0;
}
Output
The numbers are: 7 5 6 12 35 27
Their Sum = 92
Their Average = 15.3333
In this program:
- We have initialized a double array named numbers but without specifying its size. We also declared three double variables sum, count, and average.
Here, sum =0 and count = 0.
2. Then we used a range-based for loop to print the array elements. In each iteration of the loop, we add the current array element to sum.
3. We also increase the value of count by 1 in each iteration, so that we can get the size of the array by the end of the for a loop.
4. After printing all the elements, we print the sum and the average of all the numbers. The average of the numbers is given by average = sum/count;
Note: We used an extended for loop rather than a typical for loop.
A typical loop expects us to indicate the quantity of emphasis, which is given by the size of the exhibit.
In any case, a went for for doesn’t need such determinations.
C++ Array Out of Bounds
If we declare an array of size 10, at that point the exhibit will contain components from file 0 to 9.
However, If we attempt to get to the component at file at least 10 than 10, it will bring about Undefined Behavior.
Please feel free to give your comment if you face any difficulty here.