Array Initialization in C

Learn via video course
FREE
View all courses
C++ Course: Learn the Essentials
C++ Course: Learn the Essentials
by Prateek Narang
1000
5
Start Learning
C++ Course: Learn the Essentials
C++ Course: Learn the Essentials
by Prateek Narang
1000
5
Start Learning
Topics Covered

Array initialization in C explores efficient methods including initializer lists, nested arrays, loops, and character arrays for initializing arrays, enhancing readability and flexibility in C programming tasks.

initialize an array in C

Initializing an Array using Initializer List

Below is the example for Initializing array in c using initializer list:

The above line indicates to initialize an array of size 6 with elements in the same order.

To be simple, the above line works as

In the above declaration of array in c, the size of the array is three. As we already know that array initialization starts from index zero, and the elements 100, and 200 will be at indexes 0, and 1 respectively.

But what happens to the 3rd3rd index element as we have not assigned any value to it? The answer is very simple 3rd3rd index initializes with the value zero(0). So, to avoid zero values make it a priority to correctly define the size of the array while using array initializers.

In the previous array initialization method, we have to define the size of the array to initialize the array elements. Now, in this method let us discuss an array initializer method without defining the size of the array.

In the above declaration of array in c, we have not defined the size of the array, however, we initialized the array elements. We initialized two array elements so the size of the array would be two.

You can think of it like this, the number of initialized elements in the array is the size of the array.

Initializing Array in C Using a For Loop

Here, let us discuss initialization of array in c using a loop

Here we are initializing array in c of size 10 and we used a for loop to run 10 times, inside the for loop we are initializing every array index as i10i*10. Finally, we are printing the array values using another loop.

Initializing Array in C Using Designated Initializers

In this method, let us see another way of initialization of array in c, note that we can use this method only with GCC compilers.

In the above code while initializing the array we specified three dots in between 0 and 4 and assigned them with the value 20. This way initialization indicates that from index 0 till index 4 assign the value 20.

Let's see a slight modification of the above array initialization :

In the above code while initializing the array we specified three dots for indexes in the range of 1 to 3(including) with the value 20. But for index 0 we assigned a value of 10. And, for index 4 we assigned a value of 30.

Using Macros to Initialize an Array in C

Output:

Conclusion

  1. Array initialization in c offers various techniques, each suited to different scenarios and preferences.
  2. Initializer lists provide a concise and readable approach for straightforward Array initialization in c.
  3. Utilizing loops enables dynamic initialization based on conditions or algorithms, enhancing flexibility.
  4. Designated initializers offer a concise way to specify values for specific array elements or ranges, though limited to GCC compilers.
  5. Macros can be employed to streamline array initialization, providing a convenient way of initialization of array in c with predefined values.
  6. Understanding these methods empowers C programmers to efficiently initialize arrays according to their specific requirements, contributing to code clarity and maintainability.