0% found this document useful (0 votes)
20 views

Array in C (1)

Array

Uploaded by

Arjun Chaurasia
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Array in C (1)

Array

Uploaded by

Arjun Chaurasia
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

UNIT 3

Array in C is one of the most used data structures in C programming. It is a simple and fast
way of storing multiple values under a single name. There are different aspects of array in
C language such as array declaration, definition, initialization, types of arrays, array syntax,
advantages and disadvantages, and many more.

An array in C is a fixed-size collection of similar data items stored in contiguous memory


locations.

It can be used to store the collection of primitive data types such as int, char, float, etc., and
also derived and user-defined data types such as pointers, structures, etc.

C Array Declaration

In C, we have to declare the array like any other variable before using it. We can declare an
array by specifying its name, the type of its elements, and the size of its dimensions. When
we declare an array in C, the compiler allocates the memory block of the specified size to
the array name.

Syntax of Array Declaration

data_type array_name [size];


or
data_type array_name [size1] [size2]...[sizeN];

where N is the number of dimensions.


The C arrays are static in nature, i.e., they are allocated memory at the compile time.

Example of Array Declaration

// C Program to illustrate the array declaration

#include <stdio.h>

int main()

// declaring array of integers

int arr_int[5];

// declaring array of characters

char arr_char[5];

return 0;

C Array Initialization

Initialization in C is the process to assign some initial value to the variable. When the array
is declared or allocated memory, the elements of the array contain some garbage value.

So, we need to initialize the array to some meaningful value. There are multiple ways in
which we can initialize an array in C.

1. Array Initialization with Declaration


In this method, we initialize the array along with its declaration. We use an initializer list to
initialize multiple elements of the array.

An initializer list is the list of values enclosed within braces { } separated b a comma.

data_type array_name [size] = {value1, value2, ... valueN};


2. Array Initialization with Declaration without Size

If we initialize an array using an initializer list, we can skip declaring the size of the array
as the compiler can automatically deduce the size of the array in these cases.

The size of the array in these cases is equal to the number of elements present in the
initializer list as the compiler can automatically deduce the size of the array.

data_type array_name[] = {1,2,3,4,5};

The size of the above arrays is 5 which is automatically deduced by the compiler.

3. Array Initialization after Declaration (Using Loops)

We initialize the array after the declaration by assigning the initial value to each element
individually.

We can use for loop, while loop, or do-while loop to assign the value to each element of the
array.

for (int i = 0; i < N; i++) {


array_name[i] = valuei;
}

Example of Array Initialization in C


Access Array Elements
We can access any element of an array in C using the array subscript operator [ ] and the
index value i of the element.

array_name [index];

// C Program to demonstrate array initialization

#include <stdio.h>

int main()

// array initialization using initialier list

int arr[5] = { 10, 20, 30, 40, 50 };

// array initialization using initializer list without

// specifying size

int arr1[] = { 1, 2, 3, 4, 5 };

// array initialization using for loop

float arr2[5];

for (int i = 0; i < 5; i++) {

arr2[i] = (float)i * 2.1;

return 0;

One thing to note is that the indexing in the array always starts with 0, i.e., the first
element is at index 0 and the last element is at N – 1 where N is the number of elements in
the array.
Example of Accessing Array Elements using Array Subscript Operator

// C Program to illustrate element access using array

// subscript

#include <stdio.h>

int main()

// array declaration and initialization

int arr[5] = { 15, 25, 35, 45, 55 };

// accessing element at index 2 i.e 3rd element

printf("Element at arr[2]: %d\n", arr[2]);

// accessing element at index 4 i.e last element

printf("Element at arr[4]: %d\n", arr[4]);


// accessing element at index 0 i.e first element

printf("Element at arr[0]: %d", arr[0]);

return 0;

Output

Element at arr[2]: 35
Element at arr[4]: 55
Element at arr[0]: 15

Update Array Element

We can update the value of an element at the given index i in a similar way to accessing an
element by using the array subscript operator [ ] and assignment operator =.

array_name[i] = new_value;

C Array Traversal

Traversal is the process in which we visit every element of the data structure. For C array
traversal, we use loops to iterate through each element of the array.

Array Traversal using for Loop

for (int i = 0; i < N; i++) {


array_name[i];
}
Use of Array in C

The following program demonstrates how to use an array in the C programming language:

// C Program to demonstrate the use of array

#include <stdio.h>

int main()

// array declaration and initialization

int arr[5] = { 10, 20, 30, 40, 50 };

// modifying element at index 2

arr[2] = 100;

// traversing array using for loop

printf("Elements in Array: ");

for (int i = 0; i < 5; i++) {

printf("%d ", arr[i]);


}

return 0;

Output
Elements in Array: 10 20 100 40 50

Types of Array in C

There are two types of arrays based on the number of dimensions it has. They are as
follows:
1. One Dimensional Arrays (1D Array)

2. Multidimensional Arrays

1. One Dimensional Array in C

The One-dimensional arrays, also known as 1-D arrays in C are those arrays that have only
one dimension.

Syntax of 1D Array in C

array_name [size];

Example of 1D Array in C

Program-1

#include<stdio.h>
int main()
{
int i;
int a[5];
printf("enter elements in array");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}

printf("Display array elements");


for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
return 0;
}

Program-2

// write a c program to find the the sum of array elements.

#include<stdio.h>
int main()
{
int i,sum=0;
int a[5];
printf("enter elements in array \n");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}

for(i=0;i<5;i++)
{
sum = sum+a[i];
}
printf("sum = %d",sum);
return 0;
}

Program-3

//Write a Program to read 10 integers in an array.


//Find the largest & smallest number and average of 10 integers.

#include <stdio.h>
int main()
{
int a[10] ={2,5,1,4,6,1,2,11,19,12};
int i,big,small,sum=0;
float avg;
big=a[0];
small=a[0];

for(i=0;i<10;i++)
{
if(a[i]>a[0])
{
big = a[i];
}
if(a[i]<small)
{
small = a[i];
}
}

printf("largest number is =%d \n",big);


printf("smallest number is =%d \n",small);

for(i=0;i<10;i++)
{
sum = sum+a[i];
}

avg = (float)sum/10;
printf("avg of array is =%f",avg);
return 0;
}

Array of Characters (Strings)

In C, we store the words, i.e., a sequence of characters in the form of an array of characters
terminated by a NULL character. These are called strings in C language.
// C Program to illustrate strings

#include <stdio.h>

int main()

// creating array of character

char arr[6] = { 'G', 'e', 'e', 'k', 's', '\0' };

// printing string

int i = 0;

while (arr[i]) {

printf("%c", arr[i++]);

return 0;

Output

Geeks

2. Multidimensional Array in C

Multi-dimensional Arrays in C are those arrays that have more than one dimension. Some
of the popular multidimensional arrays are 2D arrays and 3D arrays.

We can declare arrays with more dimensions than 3d arrays but they are avoided as they get
very complex and occupy a large amount of space.
A. Two-Dimensional Array in C

A Two-Dimensional array or 2D array in C is an array that has exactly two dimensions.


They can be visualized in the form of rows and columns organized in a two-dimensional
plane.

Syntax of 2D Array in C

array_name[size1] [size2];

Here,
 size1: Size of the first dimension.
 size2: Size of the second dimension.

Example of 2D Array in C

Program-1

// enter elements in matrix also display matrix elements

#include <stdio.h>
int main() {

int a[3][3];
int i,j;
printf("enter matrix elements");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("display matrix elements");

for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<3;j++)
printf("%d \t",a[i][j]);
}

return 0;
}

Program-2

/ enter elements in matrix also display matrix elements

#include <stdio.h>
int main() {

int a[3][3];
int i,j;
printf("enter matrix elements");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("display matrix elements");

for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<3;j++)
printf("%d \t",a[i][j]);
}

return 0;
}

Program-3

// Write a C program to find subtraction of two matrices


// i.e. matrix A - matrix B = matrix C

int main()
{
int mat1[3][3],mat2[3][3],mat3[3][3];
int i,j;
printf("enter elements of first matrix");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&mat1[i][j]);
}
printf("enter elements of second matrix");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&mat2[i][j]);
}
//subtraction
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
mat3[i][j]= mat1[i][j]-mat2[i][j];
}
printf("display result");
for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<3;j++)
printf("%d \t",mat3[i][j]);
}
return 0;
}

Output

2D Array:
10 20 30
40 50 60

B. Three-Dimensional Array in C
Another popular form of a multi-dimensional array is Three Dimensional Array or 3D
Array.

A 3D array has exactly three dimensions.

It can be visualized as a collection of 2D arrays stacked on top of each other to create the
third dimension.

Syntax of 3D Array in C

array_name [size1] [size2] [size3];


Example of 3D Array

// C Program to illustrate the 3d array

#include <stdio.h>

int main()

// 3D array declaration

int arr[2][2][2] = { 10, 20, 30, 40, 50, 60 };

// printing elements

for (int i = 0; i < 2; i++) {

for (int j = 0; j < 2; j++) {

for (int k = 0; k < 2; k++) {

printf("%d ", arr[i][j][k]);

printf("\n");

}
printf("\n \n");

return 0;

Output

10 20
30 40

50 60
00

You might also like