2. Array
An Array is a collection of similar data items, that
are stored under a common name.
Array might 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.
KIRTHIKA KM /AP/CSE
3. Uses of array
Stores the elements of same data type.
Used for maintaining multiple variable names
using a single name.
Used for sorting elements.
Matrix operations can be performed using arrays.
Arrays are also used in CPU scheduling.
KIRTHIKA KM /AP/CSE
4. Types of arrays
Types
One-Dimensional array
Two-Dimensional array
Multi-Dimensional array
KIRTHIKA KM /AP/CSE
5. One-Dimensional array
Array declaration:
Syntax:
data_type array_name[size];
Example: int x[3];
X[0]
X[1]
X[2]
x
KIRTHIKA KM /AP/CSE
6. Array initialization
The initializer for an array is a comma-separated list of constant
expressions enclosed in braces ({ }).
The initializer is preceded by an equal sign (=).
It is not necessary to initialize all elements in an array. If an array
is partially initialized, elements that are not initialized receive
the value of the appropriate type.
Array initialization can be made either :
At compile time or
At run time
KIRTHIKA KM /AP/CSE
7. At compile time
Syntax:
data_type array_name[size]={variables};
Example: int x[3]={5,3,7};
5
3
7
X[0]
X[1]
X[2]
x
KIRTHIKA KM /AP/CSE
8. At Run time
Array can also be initialized at the run time.
Example:
while(i<10)
{
if(i<5)
sum[i]=0;
else
sum[i]=sum[i]+i;
}
Example:
scanf(“%d%d”,&a[0],&a[1]);
KIRTHIKA KM /AP/CSE
12. Output
The value in x[0] is a
The value in x[1] is b
The value in x[2] is c
The value in x[3] is d
The value in x[4] is e
KIRTHIKA KM /AP/CSE
13. Two-Dimensional array
Array declaration
Syntax:
data_type array_name[row_size] [col_size];
Example: int x[3][2];
X[0][0]
X[1][0]
X[2][0]
Col 0 Col 1
row 0
row 1
row 2
X[0][1]
X[1][1]
X[2][1]
KIRTHIKA KM /AP/CSE
14. 2-D Array Initialization
Syntax:
data_type array_name[row_size] [col_size];={variables};
Example: int x[2][2]={1,50,2,75};
KIRTHIKA KM /AP/CSE
15. Example
int x[2][2]={ {1,50},
{2,75}
};
(or)
int x[ ][2]={ {1,50},
{2,75}
};
KIRTHIKA KM /AP/CSE
16. The array elements will be stored in contiguous
memory locations, and it is illustrated below:
1 50
2 75
row 0
row 1
Col 0 Col 1
KIRTHIKA KM /AP/CSE
20. Output
The value in x[0][0] is 1
The value in x[0][1] is 50
The value in x[1][0] is 2
The value in x[1][1] is 75
The value in x[2][0] is 3
The value in x[2][1] is 65
KIRTHIKA KM /AP/CSE
21. Matrix Addition
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,k,r1,r2,c1,c2;
int a[5][5],b[5][5],c[5][5];
clrscr();
step1:
printf("n Enter the size of matrix A:");
scanf("%d%d",&r1,&c1);
printf("n Enter the size of matrix B: ");
scanf("%d%d",&r2,&c2);
if((c1==c2)&&(r1==r2))
goto step2;
else
goto step1;
KIRTHIKA KM /AP/CSE
22. step2:
printf("n Enter the elements of matrix A n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("n Enter the elements of matrix B n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
scanf("t%d",&b[i][j]);
}
}
KIRTHIKA KM /AP/CSE
24. Output
Enter the size of matrix A: 2
2
Enter the size of matrix B: 2
2
Enter the elements of matrix A
2
2
2
2
Enter the elements of matrix B
3
3
3
3
The resultant matrix after addition of A&B is
5 5
5 5
KIRTHIKA KM /AP/CSE
25. Matrix Multiplication
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,k,r1,r2,c1,c2;
int a[5][5],b[5][5],c[5][5];
clrscr();
step1:
printf("n Enter the size of matrix A n");
scanf("%d%d",&r1,&c1);
printf("n Enter the size of matrix B n");
scanf("%d%d",&r2,&c2);
if(c1==r2)
goto step2;
else
goto step1;
KIRTHIKA KM /AP/CSE
26. step2:
printf("n Enter the elements of matrix A n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("n Enter the elements of matrix B n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
scanf("t%d",&b[i][j]);
}
}
KIRTHIKA KM /AP/CSE
28. Output
Enter the size of matrix A:2
2
Enter the size of matrix B:2
2
Enter the elements of matrix A
4
4
4
4
Enter the elements of matrix B
4
4
4
4
The resultant matrix is
32 32
32 32 KIRTHIKA KM /AP/CSE
29. Enter the size of matrix A:2
3
Enter the size of matrix B:3
2
Enter the elements of matrix A
1
2
3
4
5
6
Enter the elements of matrix B
2
4
6
8
2
4
The resultant matrix is
20 32
50 80
KIRTHIKA KM /AP/CSE
30. Passing array to Function
An array can be passed as a parameter to a function by
specifying the array's name without an index.
Here an array is transferred as parameter to a function.
void main() void fun(n,b[])
{ {
void fun(int,int); int x,b[5];
int a[5],n; …………..
…………… …………..
fun(n,a);
…………… }
}
KIRTHIKA KM /AP/CSE
34. Array of Characters
In an array the characters are terminated by the null
(‘0’) character.
Example: char a[]={a,b,c};
a b c 0
KIRTHIKA KM /AP/CSE
37. Multi Dimensional Array
Arrays can have more than one dimension, these arrays-of-
arrays are called multidimensional arrays.
Here is the general form of a multidimensional array
declaration:
datatype array_name [size1][size2]….[size n]
datatype - type of the data.
array_name -name of the array.
size -size of the array.
KIRTHIKA KM /AP/CSE
38. They are very similar to standard arrays with the
exception that they have multiple sets of square
brackets after the array identifier.
A two dimensional array can be thought of as a grid of
rows and columns.
A two-dimensional array is an example in this section,
although the techniques can be extended to three or
more dimensions.
The simplest form of the multidimensional array is the
two-dimensional array.
KIRTHIKA KM /AP/CSE
39. Example:
int a[3][3][3];
Col 0 Col 1 Col 2
row 0
row 1
row 2
X[0][0]
X[1][0]
X[2][0]
X[0][1]
X[1][1]
X[2][1]
X[0][2]
X[1][2]
X[2][2]
KIRTHIKA KM /AP/CSE
40. String
The string is actually a one-dimensional array of characters
which is terminated by a null character '0'.
All the string handling functions are prototyped in: string.h
header file. So while using any string related function, don't
forget to include string.h.
String constants have double quote marks around them.
String constants can be assigned to a char array either with no
size specified, or the size can also be specified, but don't forget to
leave a space for the null character.
KIRTHIKA KM /AP/CSE
41. String Handling Functions
Strings are often needed to be manipulated by the programmer
according to the need of a problem. Hence, C provides a variety of
string handling functions.
String handling functions refers to a group of functions
implementing various operations on strings.
Some of the operations performed by the string handling
functions includes:
Length (number of characters in the string).
Concatenation (adding two are more strings)
Comparing two strings.
Substring (Extract substring from a given string)
Copy(copies one string over another)
KIRTHIKA KM /AP/CSE
42. The various string handling functions supported by C are as
follows:
strlen()
It is used to find the length of the string.
syntax:
strlen(string)
strcpy()
It is used to copy one string to another.
syntax:
strcpy(string1,string2)
strcat()
It is used to combine two strings.
syntax:
strcat(string1,string2)
KIRTHIKA KM /AP/CSE
43. strcmp()
It is used to compare two strings.
syntax:
strcmp(string1,string2)
Returns 0 if two strings are equal.
Return value <0 if s1 is less than s2.
Return value >0 if s1 is greater than s2.
strrev()
It used to reverse a string.
syntax:
strrev(string)
strlwr(), strupr()
It used to change the case of a string.
syntax:
strlwr(string)
strupr(string)
KIRTHIKA KM /AP/CSE
44. strncpy()
It used to copy ‘n’ characters of one string to another.
strstr()
It is used to determine the first occurrence of a given string
in another string.
strncat()
It appends source string to destination string up to specified
length.
strspn()
It is used to find up to what length two strings are identical.
KIRTHIKA KM /AP/CSE
45. strncmp()
It is used to compare ‘n’ character of two strings.
strcmpi()
It is used to compare two strings without regarding the case.
strnicmp()
It is used to compare first ‘n’ characters of two strings without
regarding the case.
strchr()
It is used to determine the first occurrence of a given character
in a string.
strrchr()
It is used to determine the last occurrence of a given character
in a string.
KIRTHIKA KM /AP/CSE
52. Output
The string is : itdept
The string after conversion to uppercase :ITDEPT
The string after conversion to lowercase : itdept
KIRTHIKA KM /AP/CSE