Arrays
In C Language
Contents
I. Introduction
 Declaring and creating Arrays
 Accessing array elements
 Array: input & output
II. One- dimensional Arrays
III. Declaration of One- dimensional Arrays
IV. Initialization of One- dimensional Arrays
V. Two- dimensional Arrays
VI. Initialization of Two- dimensional Arrays
VII. Multi-dimensional Arrays
VIII. Dynamic Arrays
IX. Array examples
INTRODUCTION
What is An Array?
 An array is a fixed-size sequenced collection of elements of the same
data type.
 It is simply a grouping of like-type data. In its simplest form, an array
can be used to represent a list of numbers, or a list of names.
 Some examples where the concept of array can be used are as under:
 List of temperatures recorded every hour in a day, or a month, or a
year.
 List of employees in an organization.
 List of products and their cost sold by a store.
 Test scores of a class of students.
 List of customers and their telephone numbers. Etc.
0 1 2 3 4 Element
index
Element of an array
Array of 5
elements
 An Array provides a convenient structure forrepresenting
data hence it is classified as one of the Data Structure In C.
 Example:
income[10]
 The above example represents the income of employees.
Individual values are called elements While the complete set
of values is referred to as an array. In above example there
can be maximum 10 elements.
 An Array is a derived data type
 Based on the basis of dimensions there are three types of
array :
1. One - dimensional Arrays
2. Two - dimensional Arrays
3. Multi - dimensional Arrays
Declaring & Creating Arrays
Declaring Arrays
 Declaration defines the type of the elements
 Square brackets [ ] indicate “Array size"
 Examples:
(Where s.o.a is size of array)
int array[s.o.a];
Creating and Initializing Arrays
 Creating and initializing can be done together:
Int myIntArray[5] = {1, 2, 3, 4, 5};
myIntArray
managed heap
(dynamic memory)
0 1 2 3 4
… … … … …
Accessing Array Elements
READ AND MODIFY ELEMENTS BY INDEX
How to Access Array Element?
 Array elements are accessed using the square brackets operator []
(indexer)
› Array indexer takes element’s index as parameter
› The first element has index 0
› The last element has index Length-1
 Array elements can be retrieved and changed by the [ ] operator
Arrays: Input and Output
Reading and Printing Arrays on the Console
Reading Arrays
 Ex. Int array[5];
Scanf(“%d”,&array[5]);
-------------------------------------------------
-------------------------------------------------
Printing Arrays
printf(“a[5]=%d”,array[5]);
-------------------------------------------------
-------------------------------------------------
One - Dimensional Arrays
 A list of item can be given one variable name using
only one subscript and such a variable is called a
single subscripted variable or One- dimensional array.
 It can be expressed as :
x[0], x[1], x[2], x[3], x[4]……..x[n]
C performs no bound checking and, therefore, care
should be exercised to ensure that the array indices
are within the declared limits.
Declaration of One-Dimensional Array
 Syntax:
 Data type can be int, float, char etc.
 Ex.
> int chat[10];
> char pr[50];
 Array of char data type is called STRING.
 When compiler sees a char String, it terminates it with
an additional null character. so string array holds the null
char ‘0’.we must allow 1 extra element space for the null
terminator.
data type variable_name[s.o.a];
Initialization of one Dimensional Array
 An array can be initialized at either of the following two
stages:
 At compile time
 At run time
• At compile time
 Syntax::
datatype array name[S.O.A]={list of value};
Ex:: int array[5]={1,2,3,4,5};
 If we have more initializers than the declared size, the
compiler will produce an error. That is illegal in C.
 Ex:: int number[3]={1,2,3,4,5};
• Run Time Initialization
 An array can be explicitly initialized at run time. This
approach is usually applied for initialization large arrrays.
 Ex::
 ---------------------------------------------------------------
 ---------------------------------------------------------------
 For (i=0; i<5; i++)
 {
 sum[i]=I;
 }
 ---------------------------------------------------------------
 ---------------------------------------------------------------
.
 We can also use a read function such as scanf to initialize array.
 Ex::
 Int x[3];
 Scanf (“%d %d %d ,&x[0], &x[0], &x[0]”);
 Will intialize array elements with the value entered
through the keyboard.
Two Dimensional Array
 If we have store the value as table then we have to use 2-D
array.
 Ex:-
 C allow s us to define such tables of items by using 2-D
arrays.
 Syntax::
 Type array name[raw size][column size];
Hear the first index contains row size, second index
contains column size.
i-1 i-2 i-3
1. 10 20 30
2. 20 10 13
Initialization of Two Dimensional Array
 Like 1-d array, 2-d array may be initialized by following
their declaration with a list of initial values enclosed in
braces.
 Ex::
 Int table[2][3]={0,0,0,1,1,1};
 Int table[2][3]={ {0,0,0} ,{1,1,1} };
 Hear the first index saw raw size, second Index saw
column size.
Multi Dimensional Array
 C allows arrays of three or more dimensions. The exact limit is determined
by the compiler .
 The general form of a multi –dimensional array is…..
 Type array name[x1][x2][x3][x4]……..[xn];
 Where x1 x1 is size of array.
 ANSI C does not specify any limit for array dimension. However ,
most compiler permit seven to ten dimension . Some allow even
more.
Dynamic Arrays
 We created array at run time, so we can not modify it at run time so theyare
called static array. This approach works fine as long as we know exactly
what our data requirement are..
 In C it is possible to allocate memory to arrays at run time , which knownas
dynamic memory allocation and the array called dynamic array.
 Dynamic array are created using what are known as pointer variables and
memory management function malloc, calloc, realloc, which are in
<stdio.h>
Some Examples of Array
 Ex: Write a program to print first 10 number.
::
#include<stdio.h>
void main()
{
int i, pr[10];
for (i=0;i<10;i++)
{
r[i]=i + 1;
printf("%d",r[i]);
printf(” n”);
}
}
:: output::
1
2
3
4
5
6
7
8
9
10
 Write a program to read and display 3x3 matrix.
# i n c l u d e < s t d i o . h >
v oi d m a i n ( )
{
i n t i , j , a [ 3 ] [ 3 ] ;
o f 3 x 3 M a t r i x :  n ” ) ;
” , i , j );
p r i n t f ( “ E n t e r t h e e l e m e n t s
f o r ( i = 0 ; i < 3 ; i + + )
f o r ( j = 0 ; j < 3 ; j + + )
{
p r i n t f ( “ a [ % d ] [ % d ] =
s c a n f (“% d ” , a [ i ] [ j ] ) ;
}
i n 3 x 3 m a t r i x a r e :  n ” ) ;
p r i n t f ( “ T h e v a r i o u s e l e m e n t s
f o r ( i = 0 ; i < 3 ; i + + )
{
p r i n t f (“  n  t  t ”);
f o r ( j = 0 ; j < 3 ; j + + )
p r i n t f (“%d  t ” , a [ i ] [ j ] ) ;
}}
:: output ::
E n t e r t h e e l e m e n t s o f t h e 3 x 3 m a t r i x :
a [ 0 ] [ 0 ] = 1
a [ 0 ] [ 1 ] = 2
a[ 0] [ 2] = 3
a [ 1 ] [ 0 ] = 4
a [ 1 ] [ 1 ] = 5
a [ 1 ] [ 2 ] = 6
a [ 2 ] [ 0 ] = 7
a [ 2 ] [ 1 ] = 8
a[ 2] [ 2] = 9
T h e v a r i o u s e l e m e n t s o f t h e 3 X 3 m a t r i x :
1 2 3
4 5 6
7 8 9
End of Presentation

Arrays basics

  • 1.
  • 2.
    Contents I. Introduction  Declaringand creating Arrays  Accessing array elements  Array: input & output II. One- dimensional Arrays III. Declaration of One- dimensional Arrays IV. Initialization of One- dimensional Arrays V. Two- dimensional Arrays VI. Initialization of Two- dimensional Arrays VII. Multi-dimensional Arrays VIII. Dynamic Arrays IX. Array examples
  • 3.
  • 4.
    What is AnArray?  An array is a fixed-size sequenced collection of elements of the same data type.  It is simply a grouping of like-type data. In its simplest form, an array can be used to represent a list of numbers, or a list of names.  Some examples where the concept of array can be used are as under:  List of temperatures recorded every hour in a day, or a month, or a year.  List of employees in an organization.  List of products and their cost sold by a store.  Test scores of a class of students.  List of customers and their telephone numbers. Etc.
  • 5.
    0 1 23 4 Element index Element of an array Array of 5 elements
  • 6.
     An Arrayprovides a convenient structure forrepresenting data hence it is classified as one of the Data Structure In C.  Example: income[10]  The above example represents the income of employees. Individual values are called elements While the complete set of values is referred to as an array. In above example there can be maximum 10 elements.  An Array is a derived data type  Based on the basis of dimensions there are three types of array : 1. One - dimensional Arrays 2. Two - dimensional Arrays 3. Multi - dimensional Arrays
  • 7.
  • 8.
    Declaring Arrays  Declarationdefines the type of the elements  Square brackets [ ] indicate “Array size"  Examples: (Where s.o.a is size of array) int array[s.o.a];
  • 9.
    Creating and InitializingArrays  Creating and initializing can be done together: Int myIntArray[5] = {1, 2, 3, 4, 5}; myIntArray managed heap (dynamic memory) 0 1 2 3 4 … … … … …
  • 10.
    Accessing Array Elements READAND MODIFY ELEMENTS BY INDEX
  • 11.
    How to AccessArray Element?  Array elements are accessed using the square brackets operator [] (indexer) › Array indexer takes element’s index as parameter › The first element has index 0 › The last element has index Length-1  Array elements can be retrieved and changed by the [ ] operator
  • 12.
    Arrays: Input andOutput Reading and Printing Arrays on the Console
  • 13.
    Reading Arrays  Ex.Int array[5]; Scanf(“%d”,&array[5]); ------------------------------------------------- ------------------------------------------------- Printing Arrays printf(“a[5]=%d”,array[5]); ------------------------------------------------- -------------------------------------------------
  • 14.
    One - DimensionalArrays  A list of item can be given one variable name using only one subscript and such a variable is called a single subscripted variable or One- dimensional array.  It can be expressed as : x[0], x[1], x[2], x[3], x[4]……..x[n] C performs no bound checking and, therefore, care should be exercised to ensure that the array indices are within the declared limits.
  • 15.
    Declaration of One-DimensionalArray  Syntax:  Data type can be int, float, char etc.  Ex. > int chat[10]; > char pr[50];  Array of char data type is called STRING.  When compiler sees a char String, it terminates it with an additional null character. so string array holds the null char ‘0’.we must allow 1 extra element space for the null terminator. data type variable_name[s.o.a];
  • 16.
    Initialization of oneDimensional Array  An array can be initialized at either of the following two stages:  At compile time  At run time • At compile time  Syntax:: datatype array name[S.O.A]={list of value}; Ex:: int array[5]={1,2,3,4,5};  If we have more initializers than the declared size, the compiler will produce an error. That is illegal in C.  Ex:: int number[3]={1,2,3,4,5}; • Run Time Initialization  An array can be explicitly initialized at run time. This approach is usually applied for initialization large arrrays.
  • 17.
     Ex::  --------------------------------------------------------------- ---------------------------------------------------------------  For (i=0; i<5; i++)  {  sum[i]=I;  }  ---------------------------------------------------------------  --------------------------------------------------------------- .  We can also use a read function such as scanf to initialize array.  Ex::  Int x[3];  Scanf (“%d %d %d ,&x[0], &x[0], &x[0]”);  Will intialize array elements with the value entered through the keyboard.
  • 18.
    Two Dimensional Array If we have store the value as table then we have to use 2-D array.  Ex:-  C allow s us to define such tables of items by using 2-D arrays.  Syntax::  Type array name[raw size][column size]; Hear the first index contains row size, second index contains column size. i-1 i-2 i-3 1. 10 20 30 2. 20 10 13
  • 19.
    Initialization of TwoDimensional Array  Like 1-d array, 2-d array may be initialized by following their declaration with a list of initial values enclosed in braces.  Ex::  Int table[2][3]={0,0,0,1,1,1};  Int table[2][3]={ {0,0,0} ,{1,1,1} };  Hear the first index saw raw size, second Index saw column size.
  • 20.
    Multi Dimensional Array C allows arrays of three or more dimensions. The exact limit is determined by the compiler .  The general form of a multi –dimensional array is…..  Type array name[x1][x2][x3][x4]……..[xn];  Where x1 x1 is size of array.  ANSI C does not specify any limit for array dimension. However , most compiler permit seven to ten dimension . Some allow even more.
  • 21.
    Dynamic Arrays  Wecreated array at run time, so we can not modify it at run time so theyare called static array. This approach works fine as long as we know exactly what our data requirement are..  In C it is possible to allocate memory to arrays at run time , which knownas dynamic memory allocation and the array called dynamic array.  Dynamic array are created using what are known as pointer variables and memory management function malloc, calloc, realloc, which are in <stdio.h>
  • 22.
  • 23.
     Ex: Writea program to print first 10 number. :: #include<stdio.h> void main() { int i, pr[10]; for (i=0;i<10;i++) { r[i]=i + 1; printf("%d",r[i]); printf(” n”); } }
  • 24.
  • 25.
     Write aprogram to read and display 3x3 matrix. # i n c l u d e < s t d i o . h > v oi d m a i n ( ) { i n t i , j , a [ 3 ] [ 3 ] ; o f 3 x 3 M a t r i x : n ” ) ; ” , i , j ); p r i n t f ( “ E n t e r t h e e l e m e n t s f o r ( i = 0 ; i < 3 ; i + + ) f o r ( j = 0 ; j < 3 ; j + + ) { p r i n t f ( “ a [ % d ] [ % d ] = s c a n f (“% d ” , a [ i ] [ j ] ) ; } i n 3 x 3 m a t r i x a r e : n ” ) ; p r i n t f ( “ T h e v a r i o u s e l e m e n t s f o r ( i = 0 ; i < 3 ; i + + ) { p r i n t f (“ n t t ”); f o r ( j = 0 ; j < 3 ; j + + ) p r i n t f (“%d t ” , a [ i ] [ j ] ) ; }}
  • 26.
    :: output :: En t e r t h e e l e m e n t s o f t h e 3 x 3 m a t r i x : a [ 0 ] [ 0 ] = 1 a [ 0 ] [ 1 ] = 2 a[ 0] [ 2] = 3 a [ 1 ] [ 0 ] = 4 a [ 1 ] [ 1 ] = 5 a [ 1 ] [ 2 ] = 6 a [ 2 ] [ 0 ] = 7 a [ 2 ] [ 1 ] = 8 a[ 2] [ 2] = 9 T h e v a r i o u s e l e m e n t s o f t h e 3 X 3 m a t r i x : 1 2 3 4 5 6 7 8 9
  • 27.