Multidimensional array
- Array having more than one subscript variable is called multidimensional array.
- Multidimensional array is also called as matrix.
Consider the Two dimensional array –
- Two Dimensional Array requires Two Subscript Variables
- Two Dimensional Array stores the values in the form of matrix.
- One Subscript Variable denotes the “Row” of a matrix.
- Another Subscript Variable denotes the “Column” of a matrix.
Declaration and Use of Two Dimensional Array :
int a[3][4];
Use :
for(i=0;i<row,i++)
for(j=0;j<col,j++)
{
printf("%d",a[i][j]);
}
Meaning of Two Dimensional Array :
- Matrix is having 3 rows ( i takes value from 0 to 2 )
- Matrix is having 4 Columns ( j takes value from 0 to 3 )
- Above Matrix 3×4 matrix will have 12 blocks having 3 rows & 4 columns.
- Name of 2-D array is ‘a‘ and each block is identified by the row & column number.
- Row number and Column Number Starts from 0.
Cell Location | Meaning |
a[0][0] | 0th Row and 0th Column |
a[0][1] | 0th Row and 1st Column |
a[0][2] | 0th Row and 2nd Column |
a[0][3] | 0th Row and 3rd Column |
a[1][0] | 1st Row and 0th Column |
a[1][1] | 1st Row and 1st Column |
a[1][2] | 1st Row and 2nd Column |
a[1][3] | 1st Row and 3rd Column |
a[2][0] | 2nd Row and 0th Column |
a[2][1] | 2nd Row and 1st Column |
a[2][2] | 2nd Row and 2nd Column |
a[2][3] | 2nd Row and 3rd Column |
Two-Dimensional Array : Summary with Sample Example
Summary Point | Explanation |
No of Subscript Variables Required | 2 |
Declaration | a[3][4] |
No of Rows | 3 |
No of Columns | 4 |
No of Cells | 12 |
No of for loops required to iterate | 2 |
Memory Representation
- 2-D arrays are Stored in contiguous memory location row wise.
- 3 X 3 Array is shown below in the first Diagram.
- Consider 3×3 Array is stored in Contiguous memorylocation which starts from 4000 .
- Array element a[0][0] will be stored at address 4000 again a[0][1] will be stored to next memory location i.e Elements stored row-wise
- After Elements of First Row are stored in appropriate memory location , elements of next row get their corresponding mem. locations.
- This is integer array so each element requires 2 bytes of memory.
Basic Memory Address Calculation :
a[0][1] = a[0][0] + Size of Data Type
Element | Memory Location |
a[0][0] | 4000 |
a[0][1] | 4002 |
a[0][2] | 4004 |
a[1][0] | 4006 |
a[1][1] | 4008 |
a[1][2] | 4010 |
a[2][0] | 4012 |
a[2][1] | 4014 |
a[2][2] | 4016 |
No comments:
Write Comments