2. 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
4. 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.
5. 0 1 2 3 4 Element
index
Element of an array
Array of 5
elements
6. 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
8. 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];
9. 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
… … … … …
11. 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
14. 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.
15. 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];
16. 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.
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 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.
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
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>
23. 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”);
}
}
25. 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 ] ) ;
}}
26. :: 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