Menu
×
   ❮     
HOME Computer Fundamentals C Language C++ MS-OFFICE TALLY 11/12 SCIENCE 11/12 COMM BCA BCCA BBA MCA
     ❯   

Computer

▸ Computer Fundamentals▸ What is Computer▸ History of Computer▸ Types of Computer▸ History of C Language▸ History of C Language

Computer Components

▸ Computer components▸ Input Devices▸ Output Devices▸ CPU▸ Hardware

Computer Memory

▸ Computer Memory▸ Register Memory

Computer Virus

▸ Computer virus▸ Computer virus 2

Computer Network

▸ Computer Network details

Number Systems

▸ Number Systems

C Control Statements

▸ C if else▸ C Switch Statement▸ if-else vs switch▸ C Loops▸ C Do- While Loop▸ C While Loop▸ C For Loop▸ C For Loop▸ Nested Loops in C▸ Infinite Loop in C▸ C break▸ C continue▸ C goto ▸ C goto ▸ C goto ▸ C goto ▸ C goto ▸ Type Casting

C Functions

▸ What is Function▸ Recursion in C▸ Call: Value & Reference▸ Call: Value & Reference▸ Storage Classes▸ Storage Classes

C Array

▸ 1 D - Array▸ Return an Array in C▸ Array To Function ▸ 2 - D Array▸ Return an Array in C

C Pointers

▸ C Pointers▸ C Double Pointer (Pointer to Pointer)▸ C Double Pointer (Pointer to Pointer)

C Tutorial

▸ Data Types in C▸ Keywords in C▸ C Identifiers▸ Escape Sequence in C▸ ASCII value in C▸ Constants in C▸ Static in C▸ Programming Errors in C▸ Compile time vs Runtime▸ Compile time vs Runtime▸ Compile time vs Runtime▸ Conditional Operator in C▸ Bitwise Operator in C▸ Bitwise Operator in C▸ 2s complement in C▸ What is C Language▸ History of C Language▸ Features of C Language▸ How to install C▸ First C Program▸ Compilation process in c▸ Printf Scanft▸ Variables in C ▸ C Operators▸ Comments in C▸ C Format Specifier▸ Literals in C▸ Tokens in C▸ C Boolean▸ Programming Errors in C

C Array ❮ Edit Details

An array is defined as the collection of similar type of data items stored at contiguous memory locations. Arrays are the derived data type in C programming language which can store the primitive type of data such as int, char, double, float, etc. It also has the capability to store the collection of derived data types, such as pointers, structure, etc. The array is the simplest data structure where each data element can be randomly accessed by using its index number.

C array is beneficial if you have to store similar elements. For example, if we want to store the marks of a student in 6 subjects, then we don't need to define different variables for the marks in the different subject. Instead of that, we can define an array which can store the marks in each subject at the contiguous memory locations.

By using the array, we can access the elements easily. Only a few lines of code are required to access the elements of the array.

Properties of Array

The array contains the following properties.

  • Each element of an array is of same data type and carries the same size, i.e., int = 4 bytes.
  • Elements of the array are stored at contiguous memory locations where the first element is stored at the smallest memory location.
  • Elements of the array can be randomly accessed since we can calculate the address of each element of the array with the given base address and the size of the data element.

Advantage of C Array

1) Code Optimization: Less code to the access the data.

2) Ease of traversing: By using the for loop, we can retrieve the elements of an array easily.

3) Ease of sorting: To sort the elements of the array, we need a few lines of code only.

4) Random Access: We can access any element randomly using the array.

Disadvantage of C Array

1) Fixed Size: Whatever size, we define at the time of declaration of the 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.

  1. data_type array_name[array_size];  

Now, let us see the example to declare the array.

  1. int marks[5];  

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

Initialization of C Array

The simplest way to initialize an array is by using the index of each element. We can initialize each element of the array by using the index. Consider the following example.

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

initialization of array in c language

C array example

  1. #include<stdio.h>  
  2. int main(){      
  3. int i=0;    
  4. int marks[5];//declaration of array       
  5. marks[0]=80;//initialization of array    
  6. marks[1]=60;    
  7. marks[2]=70;    
  8. marks[3]=85;    
  9. marks[4]=75;    
  10. //traversal of array    
  11. for(i=0;i<5;i++){      
  12. printf("%d \n",marks[i]);    
  13. }//end of for loop     
  14. return 0;  
  15. }    

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.

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

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

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

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

  1. #include<stdio.h>  
  2. int main(){      
  3. int i=0;    
  4. int marks[5]={20,30,40,50,60};//declaration and initialization of array    
  5.  //traversal of array    
  6. for(i=0;i<5;i++){      
  7. printf("%d \n",marks[i]);    
  8. }    
  9. return 0;  
  10. }    

Output

20
30
40
50
60

C Array Example: Sorting an array

In the following program, we are using bubble sort method to sort the array in ascending order.

  1. #include<stdio.h>    
  2. void main ()    
  3. {    
  4.     int i, j,temp;     
  5.     int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23};     
  6.     for(i = 0; i<10; i++)    
  7.     {    
  8.         for(j = i+1; j<10; j++)    
  9.         {    
  10.             if(a[j] > a[i])    
  11.             {    
  12.                 temp = a[i];    
  13.                 a[i] = a[j];    
  14.                 a[j] = temp;     
  15.             }     
  16.         }     
  17.     }     
  18.     printf("Printing Sorted Element List ...\n");    
  19.     for(i = 0; i<10; i++)    
  20.     {    
  21.         printf("%d\n",a[i]);    
  22.     }    
  23. }     

Program to print the largest and second largest element of the array.

  1. #include<stdio.h>  
  2. void main ()  
  3. {  
  4.     int arr[100],i,n,largest,sec_largest;  
  5.     printf("Enter the size of the array?");  
  6.     scanf("%d",&n);  
  7.     printf("Enter the elements of the array?");  
  8.     for(i = 0; i<n; i++)  
  9.     {  
  10.         scanf("%d",&arr[i]);  
  11.     }  
  12.     largest = arr[0];  
  13.     sec_largest = arr[1];  
  14.     for(i=0;i<n;i++)  
  15.     {  
  16.         if(arr[i]>largest)  
  17.         {  
  18.             sec_largest = largest;  
  19.             largest = arr[i];  
  20.         }  
  21.         else if (arr[i]>sec_largest && arr[i]!=largest)  
  22.         {  
  23.             sec_largest=arr[i];  
  24.         }  
  25.     }  
  26.     printf("largest = %d, second largest = %d",largest,sec_largest);        
  27. }