Prev Next
C Array is a collection of variables belongings to the same data type. You can store group of data of same data type in an array.
- Array might be belonging to any of the data types
- Array size must be a constant value.
- Always, Contiguous (adjacent) memory locations are used to store array elements in memory.
- It is a best practice to initialize an array to zero or null while declaring, if we don’t assign any values to array.
Example for C Arrays:
- int a[10]; // integer array
- char b[10]; // character array i.e. string
Types of C arrays:
There are 2 types of C arrays. They are,
- One dimensional array
- Multi dimensional array
- Two dimensional array
- Three dimensional array
- four dimensional array etc…
 
1. One dimensional array in C:
Syntax : data-type arr_name[array_size];
| Array declaration, initialization and accessing | Example | 
| Array declaration syntax: data_type arr_name [arr_size];Array initialization syntax: data_type arr_name [arr_size]=(value1, value2, value3,….);Array accessing syntax: arr_name[index]; | Integer array example: int age [5]; age[0]; /*0 is accessed*/ Character array example: char str[10]; str[0]; /*H is accessed*/ | 
Example program for one dimensional array in C:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include<stdio.h>  int main()  {       int i;       int arr[5] = {10,20,30,40,50};          // declaring and Initializing array in C          //To initialize all array elements to 0, use int arr[5]={0};          /* Above array can be initialized as below also          arr[0] = 10;          arr[1] = 20;          arr[2] = 30;          arr[3] = 40;         arr[4] = 50; */      for (i=0;i<5;i++)       {           // Accessing each variable          printf("value of arr[%d] is %d \n", i, arr[i]);        }  }  | 
Output:
| value of arr[0] is 10 value of arr[1] is 20 value of arr[2] is 30 value of arr[3] is 40 value of arr[4] is 50 | 
2. Two dimensional array in C:
- Two dimensional array is nothing but array of array.
- syntax : data_type array_name[num_of_rows][num_of_column];
| Array declaration, initialization and accessing  | Example | 
| Array declaration syntax: data_type arr_name [num_of_rows][num_of_column];Array initialization syntax: data_type arr_name[2][2] = {{0,0},{0,1},{1,0},{1,1}};Array accessing syntax: arr_name[index]; | Integer array example: int arr[2][2]; arr [0] [0] = 1; | 
Example program for two dimensional array in C:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<stdio.h> int main() {    int i,j;    // declaring and Initializing array    int arr[2][2] = {10,20,30,40};    /* Above array can be initialized as below also       arr[0][0] = 10; // Initializing array       arr[0][1] = 20;       arr[1][0] = 30;       arr[1][1] = 40; */    for (i=0;i<2;i++)    {       for (j=0;j<2;j++)       {          // Accessing variables          printf("value of arr[%d] [%d] : %d\n",i,j,arr[i][j]);       }    } } | 
OUTPUT:
| value of arr[0] [0] is 10 value of arr[0] [1] is 20 value of arr[1] [0] is 30 value of arr[1] [1] is 40 | 
