Arrays In C

arrays in c

Arrays are a fundamental concept in C programming, allowing you to store multiple values of the same type in a single data structure. This article delves into the intricacies of arrays in C, including their definition, types, declaration, initialization, manipulation, and the advantages and disadvantages of using them.

Array Definition In C

An array in C is a collection of data items, all of the same type, stored at contiguous memory locations. The elements of an array can be accessed randomly by using the index number of the element. Arrays play a crucial role in C programming, allowing the storage and management of large amounts of data efficiently.

Types Of Arrays In C

There are two primary types of arrays in C:

  1. Single-Dimensional
  2. Multi-Dimensional.

Single-Dimensional Arrays

Single-dimensional arrays are the simplest form of arrays. They consist of a sequence of elements, each identified by a single index. This makes them ideal for representing a linear collection of data.

For example, consider an array of integers that stores id:

int id[5] = {101,  102,  103,  104,  105};

Here, id is a single-dimensional array with five elements, and each element can be accessed using its index, ranging from 0 to 4.

Multi-Dimensional Arrays

Multi-dimensional arrays are arrays within arrays. They can have two or more dimensions, allowing you to represent complex data structures like matrices, grids, and more.

For instance, a 2D array can be thought of as a table with rows and columns:

int matrix[3][3] = {
{1,  2,  3},
{4,  5,  6}, 
{7,  8,  9}

In this example, matrix is a two-dimensional array with three rows and three columns. Elements can be accessed using two indices, for example, matrix[0][1] would yield the second element in the first row.

A 3D array extends this concept even further, adding a third dimension. It can be visualized as a stack of 2D arrays:

int cube[2][2][2] = {{{1,  2}, {3,  4}}, {{5,  6}, {7,  8}}};

Here, cube is a three-dimensional array with two layers, each containing a 2D array with four elements.

Declaration and Initialization of Arrays in C

Declarations occur before the array’s use, while initialization assigns specific values to each element, either at the time of declaration or later in the program. Let’s look how to do declaration and initialization of Array in C.

Array Declaration by Specifying the Size

To declare an array in C, you specify the type of its elements, its name, and its size (the number of elements it can hold). For example, to declare an array arr of 10 integers:

int arr[10];

Array Declaration by Initializing Elements

You can also declare an array by directly initializing it with elements, letting the compiler count the number of elements:

int arr[] = {1, 2, 3, 4, 5};

Array Declaration by Specifying the Size and Initializing Elements

It’s possible to specify both the size and the initialization elements, but the size must match the number of initializer elements:

int arr[5] = {1, 2, 3, 4, 5};

Array Initialization Using a Loop

Arrays can be initialized using a loop. This is particularly useful when the array size is large or the initial values are generated at runtime:

int arr[5];
for(int i = 0; i < 5; i++) {
    arr[i] = i * 2;

Accessing Elements Of Array In C

Each element in an array can be accessed by its index. Remember that array indices start at 0. Here’s how you can access the third element (index 2) of arr:

int element = arr[2];

Input and Output Array Elements

Input and output of array elements in C involve reading values into an array from user input or another data source and displaying the elements stored in the array. This process often utilizes loops, such as for or while, to iterate through the array elements.

Input Elements Of Array In C

You can use a loop along with scanf to input array elements from the user:

for(int i = 0; i < 5; i++) {
    scanf("%d", &arr[i]);

Output Elements Of Array In C

Similarly, to print the elements of an array, you can use a loop with printf:

for(int i = 0; i < 5; i++) {
    printf("%d ", arr[i]);

Insertion And Deletion In Arrays In C

Inserting or deleting elements in an array requires shifting the elements to maintain the array’s continuous memory allocation.

Insertion In Array

To insert an element, you need to shift all subsequent elements one position to the right before placing the new element in the desired position.

// Insert 99 at index 3
for(int i = 4; i > 2; i--) {
    arr[i] = arr[i-1];
arr[2] = 99;

Deletion In Array

To delete an element, shift all elements after the deleted position one step to the left.

// Delete element at index 2
for(int i = 2; i < 4; i++) {
    arr[i] = arr[i + 1];

Search an Element in the Array In C

To search for an element, iterate through the array and compare each element with the target value.

#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5}; // Assuming arr is already defined
    int target = 3;
    int found = -1; // -1 means not found
    for (int i = 0; i < 5; i++) {
        if (arr[i] == target) {
            found = i;
    if (found != -1) {
        printf("Element found at index: %d\n", found);
    } else {
        printf("Element not found.\n");
    return 0;

Advantage of Array in C

  • Efficient Data Management: Arrays allow the handling of large data sets with ease.
  • Random Access: Elements can be accessed directly using their index, providing fast access
  • Ease of Use: Arrays provide a simple syntax for storing and manipulating multiple data items.

Disadvantage of Array in C

  • Fixed Size: Once declared, the size of an array cannot be changed, leading to potential wastage or shortage of space.
  • Complex Operations: Insertion and deletion operations are cumbersome as they require shifting of elements.
  • Homogeneous Elements: Arrays can only store elements of the same data type.

Why Do We Need Arrays?

Arrays are crucial for managing collections of variables of the same type. They facilitate operations on multiple data items using a single name and an index, making the code cleaner and more efficient. Whether for storing a list of integers, characters, or any other data type, arrays provide a structured approach to handling data sets, making them indispensable in programming.

Key TakeAways

  1. Arrays in C allow storing multiple elements of the same data type in a contiguous memory block, accessible by an index.
  2. Arrays must be declared with a fixed size, can be initialized during declaration or separately, and elements accessed via index, starting from 0.
  3. Basic array operations involve traversing, searching, insertion or deletion by shifting elements, useful but complex due to fixed size.
  4. Key advantages of arrays are fast access via index, ease of use, efficient data structure while disadvantages are fixed size, complex insert/delete.
  5. Arrays are fundamental for managing collections of data of same type – whether integers, characters or other types, facilitating clean and efficient code.

Similar Posts

Checkout more C Tutorials here.

I hope You liked the post 👍. For more such posts, 📫 subscribe to our newsletter. Try out our free resume checker service where our Industry Experts will help you by providing resume score based on the key criteria that recruiters and hiring managers are looking for.


What is array in C?

How is array defined?

Where is array defined?

Where is array used?

90% of Tech Recruiters Judge This In Seconds! 👩‍💻🔍

Don’t let your resume be the weak link. Discover how to make a strong first impression with our free technical resume review!

Related Articles

Subtraction of Two Numbers Program in C

In this blog post, we will checkout the Subtraction of Two Numbers Program in C. How to Write Subtraction Program in C? To create a C program to subtract two

Add Two Numbers In C

In this blog post, we will checkout the how to add two numbers in C. Algorithm to Add Two Numbers in C To create a C program to add two

Why Aren’t You Getting Interview Calls? 📞❌

It might just be your resume. Let us pinpoint the problem for free and supercharge your job search. 


Don’t miss out! Subscribe now

Log In