In C language, arrays are referred to
as structured data types. An array is defined as finite ordered
collection of homogeneous data, stored in contiguous memory locations.
Here the words:
·
finite means data range must be defined.
·
ordered means data must be stored in continuous memory
addresses.
· homogeneous means data must be of similar data type.
Example where arrays are used:
·
to store list of Employee or Student
names,
·
to store marks of a students,
·
or to store list of numbers or
characters etc.
Since arrays provide an easy way to
represent data, it is classified among the data structures in C. Other data
structures in c are structure, lists, queues and trees.
Array can be used to represent not only simple list of data but also table of
data in two or three dimensions.
Declaring an Array:
Like any other variable, arrays must be
declared before they are used. General form of array declaration is:
data-type variable-name [size];
for example:
int arr[10];
Here int is the data type, arr is the name of the array and
10 is the size of array. It means array arr can only contain 10 elements of int type. Index of
an array starts from 0 to size-1 i.e. first element of arr array will be stored at arr [0]
address and last element will occupy arr [9].
Initialization of
an Array:
After an array is declared it must be
initialized. Otherwise, it will contain garbage value (any random value). An array can be initialized at either compile time or at run-time.
Compile time Array
initialization:
Compile time initialization of array
elements is same as ordinary variable initialization. The general form of
initialization of array is,
type array-name[size] = { list of values };
int marks[4]={ 67, 87, 56, 77 }; //integer array initialization
float area[5]={ 23.4, 6.8, 5.5 }; //float array initialization
int marks[4]={ 67, 87, 56, 77, 59 }; //Compile time error
One important things to remember is
that when you will give more initializes than declared array size then the compiler will give an error.
#include<stdio.h>
#include<conio.h>
void main ()
{
int i;
int arr [3] = {2, 3, 4}; //Compile time array initialization
for (i=0 ; i<3 ;
i++)
{
printf ("%d\t",
arr[i]);
}
getch ();
}
Output:
2 3 4
Runtime Array
initialization:
An array can also be initialized at
runtime using scanf() function. This
approach is usually used for initializing large array, or to initialize array
with user specified values. Example:
#include<stdio.h>
#include<conio.h>
void main()
{
int arr[4];
int i, j;
printf ("Enter
array element");
for (i=0; i<4; i++)
{
scanf ("%d",
&arr[i]); //Run time array
initialization
}
for (j=0; j<4; j++)
{
printf ("%d\n",
arr[j]);
}
getch ();
}
Two dimensional
Arrays:
C language supports multidimensional
arrays. The simplest form of the multidimensional array is the two-dimensional
array.
Two-dimensional array is declared as
follows,
type array-name[row-size][column-size]
Example:
int a[3][4];
The above array can also be declared
and initialized together. Such as:
int arr[2][3] = {
{0, 0, 0},
{1, 1, 1}
};
Run-time
initialization of two dimensional Array:
#include<stdio.h>
#include<conio.h>
void main()
{
int arr [3][4];
int i , j ,k;
printf ("Enter
array element");
for (i=0; i<3; i++)
{
for (j=0; j < 4;
j++)
{
scanf ("%d",&arr[i][j]);
}
}
for (i=0; i < 3;
i++)
{
for (j=0; j < 4;
j++)
{
printf ("%d"
,arr[i][j]);
}
}
getch();
}
Get the Amazing C Programming Tutorial Videos at YouTube => Semicolon Programming
No comments:
Post a Comment