Pages

Friday 4 July 2014

C – Array.

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,
  1. One dimensional array
  2. 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
Array initialization
Accessing array
Syntax: 
data_type arr_name [arr_size];
data_type arr_name [arr_size]=
(value1, value2, value3,….);
arr_name[index];
int age [5]; int age[5]={0, 1, 2, 3, 4, 5}; age[0];_/*0_is_accessed*/
age[1];_/*1_is_accessed*/
age[2];_/*2_is_accessed*/
char str[10]; char str[10]={‘H’,‘a’,‘i’}; (or)
char str[0] = ‘H’;
char str[1] = ‘a’;
char str[2] = ‘i;
str[0];_/*H is accessed*/
str[1];  /*a is accessed*/
str[2];  /* i is accessed*/

Example program for one dimensional array in C:

#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]
S.no
Array declaration
Array initialization
Accessing array
1 Syntax: 
data_type arr_name [num_of_rows][num_of_column];
data_type arr_name[2][2] = {{0,0},{0,1},{1,0},{1,1}}; arr_name[index];
2 Example:
int arr[2][2];
int arr[2][2] = {1,2, 3, 4}; arr [0] [0] = 1; 
arr [0] ]1] = 2;
arr [1][0]  = 3;
arr [1] [1] = 4;

Example program for two dimensional array in C:

#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

0 comments:

Post a Comment