Skip to main content

Declaring and Initializing a 2D Array in C

A 2D array in C is a collection of elements of the same data type stored in rows and columns. In this article, we will discuss how to declare and initialize a 2D array in C.

Declaring a 2D Array

To declare a 2D array in C, you need to specify the data type of the elements, the name of the array, and the number of rows and columns. The general syntax for declaring a 2D array is:


// Syntax for declaring a 2D array
data_type array_name[row_size][column_size];

For example, to declare a 2D array of integers with 3 rows and 4 columns, you can use the following statement:


// Declaring a 2D array of integers
int matrix[3][4];

Initializing a 2D Array

There are several ways to initialize a 2D array in C. Here are a few examples:

Method 1: Initializing a 2D Array Using the Assignment Operator

You can initialize a 2D array by assigning values to each element individually. Here is an example:


// Initializing a 2D array using the assignment operator
int matrix[3][4];
matrix[0][0] = 1;
matrix[0][1] = 2;
matrix[0][2] = 3;
matrix[0][3] = 4;
matrix[1][0] = 5;
matrix[1][1] = 6;
matrix[1][2] = 7;
matrix[1][3] = 8;
matrix[2][0] = 9;
matrix[2][1] = 10;
matrix[2][2] = 11;
matrix[2][3] = 12;

Method 2: Initializing a 2D Array Using the Initialization List

You can also initialize a 2D array using an initialization list. Here is an example:


// Initializing a 2D array using the initialization list
int matrix[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

Example Program

Here is a complete example program that demonstrates how to declare and initialize a 2D array in C:


#include <stdio.h>

int main() {
    // Declaring a 2D array
    int matrix[3][4];

    // Initializing a 2D array using the initialization list
    matrix[0][0] = 1;
    matrix[0][1] = 2;
    matrix[0][2] = 3;
    matrix[0][3] = 4;
    matrix[1][0] = 5;
    matrix[1][1] = 6;
    matrix[1][2] = 7;
    matrix[1][3] = 8;
    matrix[2][0] = 9;
    matrix[2][1] = 10;
    matrix[2][2] = 11;
    matrix[2][3] = 12;

    // Printing the 2D array
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }

    return 0;
}

Output

The output of the program will be:


1 2 3 4
5 6 7 8
9 10 11 12

Conclusion

In this article, we discussed how to declare and initialize a 2D array in C. We also provided an example program that demonstrates how to declare and initialize a 2D array using the initialization list.

FAQs

Q: What is a 2D array in C?

A: A 2D array in C is a collection of elements of the same data type stored in rows and columns.

Q: How do I declare a 2D array in C?

A: To declare a 2D array in C, you need to specify the data type of the elements, the name of the array, and the number of rows and columns.

Q: How do I initialize a 2D array in C?

A: You can initialize a 2D array in C using the assignment operator or the initialization list.

Comments