Row Major Order and Column Major Order in C || Lesson 48 || C Programming || Learning Monkey ||

Описание к видео Row Major Order and Column Major Order in C || Lesson 48 || C Programming || Learning Monkey ||

Row Major Order and Column Major Order in C

In this class, we will try to understand Row Major Order and Column Major Order in C.

We have clearly understood two-dimensional arrays in our previous classes.

As discussed in our previous class, we can store a two-dimensional array’s values in row-major order or column-major order.

Table of Contents

Row-Major order or Column-Major order
Row-Major Order
Column Major Order

Row-Major order or Column-Major order

For example, consider the two-dimensional array declarations as shown in the image below.
Two Dimensional Arrays in C Initialization
Row Major Order and Column Major Order in C Initialization


If the compiler is implemented using row-major order, then the values will get stored in the memory, as shown in the image below.
Row Major Order in C


In the above image, the values 1, 2, 3, 4, 5, and 6 are stored at starting memory locations 50, 54, 58, 62, 66, and 70 (Assume int takes 4 bytes of space).

For example, if we want to access value two from memory, we must declare a[0][1].

This declaration is made under the visualization of a two-dimensional array as a matrix, as shown in the image below.
Row Major Order and Column Major Order in C Visualization


Now this declaration has to be converted into a memory address.

How will the compiler convert the [0][1] to a memory address?

The compiler uses the formula given below to convert it into a memory address.
Row major order formula


In the above formula based upon our example, i and j are the array indexes; in this case, it is zero and one.

Also, m and n are the matrix indexes; in this case, it is two and three.

The base address is 50, and the size of the int is 4 bytes.

By substituting the corresponding values, we will get the memory address as 54.

((0*3) + 1) * 4 + 50 = 54.
Column Major Order

If the compiler is implemented by column-major order, the array elements will be stored in the memory, as shown in the image below.
Column Major Order in C


Similar to the above discussion on row-major order, the formula for column-major order is shown below.
Column Major Order Formula


#learningmonkey #cprogrammingforbeginners #placements #gatecse #cprogramming #cprogramminglanguage



Link for playlists:
   / @learningmonkey  


Link for our website: https://learningmonkey.in

Follow us on Facebook @   / learningmonkey  

Follow us on Instagram @   / learningmonkey1  

Follow us on Twitter @   / _learningmonkey  

Mail us @ [email protected]

Комментарии

Информация по комментариям в разработке