C | Arrays | Question 7

Consider the following declaration of a ‘two-dimensional array in C:

filter_none

edit
close

play_arrow

link
brightness_4
code

char a[100][100]; 

chevron_right


Assuming that the main memory is byte-addressable and that the array is stored starting from memory address 0, the address of a[40][50] is (GATE CS 2002)

(A) 4040
(B) 4050
(C) 5040
(D) 5050


Answer: (B)

Explanation:



Address of a[40][50] = Base address + 40*100*element_size + 50*element_size
                      = 0 + 4000*1 + 50*1
                     = 4050
Based on row major or column major
if row major then the result will be 4050
if column major then 
            Address of a[40][50] = Base address + 50*100*element_size + 40*element_size
                      = 0 + 5000*1 + 40*1
                     = 5040


Quiz of this Question



My Personal Notes arrow_drop_up

Improved By : GehadAhmed



Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.