Arrays In C

Arrays

C Array

Array in C language is a collection or group of elements (data). All the elements of c array are homogeneous (similar). It has contiguous memory location.

C array is beneficial if you have to store similar elements. Suppose you have to store marks of 50 students, one way to do this is allotting 50 variables. So it will be typical and hard to manage. For example we can not access the value of these variables with only 1 or 2 lines of code.

Another way to do this is array. By using array, we can access the elements easily. Only few lines of code is required to access the elements of array.

Advantage of C Array

  • Code Optimization : Less code to the access the data.
  • Easy to traverse data : By using the for loop, we can retrieve the elements of an array easily.
  • Easy to sort data : To sort the elements of array, we need a few lines of code only.
  • Random Access : We can access any element randomly using the array.

Disadvantage of C Array

  • Fixed Size : Whatever size, we define at the time of declaration of array, we can't exceed the limit. So, it doesn't grow the size dynamically like LinkedList which we will learn later.

Declaration of C Array

We can declare an array in the c language in the following way.

data_type array_name[array_size];  

Now, let us see the example to declare array.

    int marks[5];  

Here, int is the data_type, marks is the array_name and 5 is the array_size.

Initialization of C Array

A simple way to initialize array is by index. Notice that array index starts from 0 and ends with [SIZE - 1].

marks[0]=80;//initialization of array  
marks[1]=60;  
marks[2]=70;  
marks[3]=85;  
marks[4]=75; 

C array example

#include <stdio.h>    
#include <conio.h>    
void main()
{    
        int i=0;  
        int marks[5];//declaration of array  
        clrscr();    
  
        marks[0]=80;//initialization of array  
        marks[1]=60;  
        marks[2]=70;  
        marks[3]=85;  
        marks[4]=75;  
  
        //traversal of array  
        for(i=0;i<5;i++)
        {    
                printf("%d \n",marks[i]);  
        }//end of for loop  
  
getch();    
}

Output :

80
60
70
85
75

C Array: Declaration with Initialization

We can initialize the c array at the time of declaration. Let's see the code.

int marks[5]={20,30,40,50,60};

In such case, there is no requirement to define size. So it can also be written as the following code.

    int marks[]={20,30,40,50,60};  

Let's see the full program to declare and initialize the array in C.

#include <stdio.h>    
#include <conio.h>    
void main()
{    
     int i=0;  
     int marks[5]={20,30,40,50,60};//declaration and initialization of array  
     clrscr();    
  
     //traversal of array  
     for(i=0;i<5;i++)
     {    
          printf("%d \n",marks[i]);  
     }  
  
getch();    
}

Output :

20
30
40
50
60