1) An array holds elements that have the same data type
2) Array elements are stored in subsequent memory locations
3) Two-dimentional array elements are stored row by row in subsequent memory locations.
4) Array name represents the address of the starting element
5) Array size should be mentioned in the declaration. Array size must be a constant expression and not a variable.
6)While declaring the 2D array, the number of coulmns should be specified and its a mandatory. where as for number of rows there is no such rule.
Example: #include <stdio.h> int main() { int arr[][2]={1,2,3,4,5,6,7,8}; //where as int arr[4][]={1,2,3,4,5,6,7,8}; gives the error.Coz here compiler gets confuse how much space to allocate to column of a row.