C++ Initialize Array

To initialize a C++ Array, assign the list of elements separated by comma and enclosed in flower braces, to the array variable. Initialization can be done during declaration itself or later in a separate statement.

In this tutorial, we will go through some examples of how to initialize arrays of different datatypes.

C++ Array Initialization during Declaration

Method 1

We can assign the list of elements to the array variable during declaration. If we do not specify the size of array, the number of elements we are initializing the array with, becomes the size of array.

In the following example, we have not specified any size in the square brackets.

int a[] = {7, 3, 8, 7, 2};

But, as we have assigned a list of five elements to the array, the size of the array becomes 5.

Method 2

We can also specify the size of array, and assign a list of elements to the array. The number of elements in the list could be less than the size specified. Then, the compiler creates array with specified size, and assigns the elements one by one from the starting of array.

int a[10] = {7, 3, 8, 7, 2, 9, 5};

We have specified the array size to be 10.  But we have given only seven elements in the initializing list. So, the first seven elements of the array get initialized with the given list of elements, and the rest of array elements are initialized to zero.

Method 3

We can also declare an array with a specific size and initialize later, one element at a time, using index.

int a[10];
a[0] = 7;
a[1] = 3;
a[2] = 8;
a[3] = 2;
a[4] = 9;

C++ Initialize Array of Integers

In this example, we initialize two arrays of integers: one array with size not specified during declaration and the second with size specified and fewer elements initialized.

C++ Program

#include <iostream>
using namespace std;

int main() {
   //initialize array with no size specified
   int arr1[] = {7, 3, 8, 7, 2};
   //initialize array with size specified, but with fewer elements
   int arr2[10] = {52, 78, 18, 92, 96, 69, 84};

   //print arrays
   for (int i=0; i < sizeof(arr1)/sizeof(*arr1); i++) {
      cout << arr1[i] << "  ";
   }
   cout << endl;
   for (int i=0; i < sizeof(arr2)/sizeof(*arr2); i++) {
      cout << arr2[i] << "  ";
   }
}

Output

7  3  8  7  2
52  78  18  92  96  69  84  0  0  0

C++ Initialize Array of Strings

In this example, we initialize two arrays of strings: one array with size not specified during declaration and the second with size specified and fewer elements initialized.

C++ Program

#include <iostream>
using namespace std;

int main() {
   //initialize array with no size specified
   string arr1[] = {"hello" , "hi", "good" , "morning"};
   //initialize array with size specified, but with fewer elements
   string arr2[10] = {"hello" , "hi", "good" , "morning", "thank", "you", "user"};

   //print arrays
   for (int i=0; i < sizeof(arr1)/sizeof(*arr1); i++) {
      cout << arr1[i] << "  ";
   }
   cout << endl;
   for (int i=0; i < sizeof(arr2)/sizeof(*arr2); i++) {
      cout << arr2[i] << "  ";
   }
}

Output

hello  hi  good  morning
hello  hi  good  morning  thank  you  user

C++ Initialize Array of Chars

In this example, we initialize two arrays of chars: one array with size not specified during declaration and the second with size specified and fewer elements initialized.

C++ Program

#include <iostream>
using namespace std;

int main() {
   //initialize array with no size specified
   char arr1[] = {'a', 'e', 'i', 'o', 'u'};
   //initialize array with size specified, but with fewer elements
   char arr2[10] = {'t', 'u', 't', 'o', 'r', 'i', 'a', 'l'};

   //print arrays
   for (int i=0; i < sizeof(arr1)/sizeof(*arr1); i++) {
      cout << arr1[i] << "  ";
   }
   cout << endl;
   for (int i=0; i < sizeof(arr2)/sizeof(*arr2); i++) {
      cout << arr2[i] << "  ";
   }
}

Output

a  e  i  o  u
t  u  t  o  r  i  a  l

C++ Initialize Array of Floating Point Numbers

In this example, we initialize two arrays of floating point numbers: one array with size not specified during declaration and the second with size specified and fewer elements initialized.

C++ Program

#include <iostream>
using namespace std;

int main() {
   //initialize array with no size specified
   float arr1[] = {7.98652, 5.7443, 8.88888, 4.1255557, 2.22222};
   //initialize array with size specified, but with fewer elements
   float arr2[10] = {5.882, 5.578, 1.448, 92.232, .74965, .6669, 888.884};

   //print arrays
   for (int i=0; i < sizeof(arr1)/sizeof(*arr1); i++) {
      cout << arr1[i] << "  ";
   }
   cout << endl;
   for (int i=0; i < sizeof(arr2)/sizeof(*arr2); i++) {
      cout << arr2[i] << "  ";
   }
}

Output

7.98652  5.7443  8.88888  4.12556  2.22222
5.882  5.578  1.448  92.232  0.74965  0.6669  888.884  0  0  0

C++ Initialize Array of Long

In this example, we initialize two arrays of long numbers: one array with size not specified during declaration and the second with size specified and fewer elements initialized.

C++ Program

#include <iostream>
using namespace std;

int main() {
   //initialize array with no size specified
   long arr1[] = {798652, 57443, 888888, 41255557, 222222};
   //initialize array with size specified, but with fewer elements
   long arr2[10] = {5882, 5578, 1448, 92232, 74965, 6669, 888884};

   //print arrays
   for (int i=0; i < sizeof(arr1)/sizeof(*arr1); i++) {
      cout << arr1[i] << "  ";
   }
   cout << endl;
   for (int i=0; i < sizeof(arr2)/sizeof(*arr2); i++) {
      cout << arr2[i] << "  ";
   }
}

Output

798652  57443  888888  41255557  222222
5882  5578  1448  92232  74965  6669  888884  0  0  0

C++ Initialize Array of Booleans

In this example, we initialize two arrays of boolean values: one array with size not specified during declaration and the second with size specified and fewer elements initialized.

C++ Program

#include <iostream>
using namespace std;

int main() {
   //initialize array with no size specified
   bool arr1[] = {true, true, false, true, false};
   //initialize array with size specified, but with fewer elements
   bool arr2[10] = {true, false, false, false, false, true, true};

   //print arrays
   for (int i=0; i < sizeof(arr1)/sizeof(*arr1); i++) {
      cout << arr1[i] << "  ";
   }
   cout << endl;
   for (int i=0; i < sizeof(arr2)/sizeof(*arr2); i++) {
      cout << arr2[i] << "  ";
   }
}

Output

1  1  0  1  0
1  0  0  0  0  1  1  0  0  0

Conclusion

In this C++ Tutorial, we learned how to initialize an array in C++ in different ways, and for different datatypes, with example C++ programs.