×

Array Of Structures in C

The C programming language allows us to store multiple elements of the same type in arrays. We can use strings to store multiple elements of a character data type. Still, there is a programming need to store multiple items of different data types, for example, when collecting data from students whose names are of the character data type. Next is the roll number of the numeric data type. Structures are used to store multiple elements of different data types.

Structure

The structure is a user-defined data type. With the help of structures, we can define a data type that holds more than one element of different types. The structure can contain "n" elements. This means any number of elements. Now let's look at the syntax.

Syntax

struct structurename
{
datatype ele1;
datatype ele2;
.
.
.
.
};

We should always start with the keyword "struct" and add the struct name that the programmer can want. Next, we need to open the square bracket declaration. Finally, close the brackets after declaring all the elements with the data type. Adding a semicolon at the end is important.

Syntax Example

struct Customer
{
int customerid;
char name[20];
};
main()
{
int a;
Struct Customer c[25];
}

When we declare a variable in the main function, we know that we need to add the data type and then the variable name. For structures, the data type name is "struct structure name". This means that we are a "struct Customer" here. Next, we need to add the variable name "c" here, and memory will be allocated for the variable. Structure variables always contain a base address. This refers only to the data type, but there is no pointer here since it is an internal pointer value. A structural variable called "c" is allocated 24 bytes of memory [20]. Each character occupies 1 byte of memory. Characters mean 20 bytes for 20 characters, and integer variables are 4 bytes on 64-bit systems for 24 bytes. We have saved the information so far. Let's move to the access part.

Accessing Structure

 We can access the structure simply by entering the dot ".". Operators such as "c.customerid" and "c.name".  Firstly, we need to understand how to declare the structure's size.

Structure size

 We can use the keyword "size" to find the size and sizeof (variable name). We can also use sizeof (struct strcutname). Check out the examples below to get a quick idea. 

Array Of Structures

Example in C Programming

#include<stdio.h>
struct Customer
{
int customerid;
char name[20];
};
void main()
{
struct Customer c;
printf("size of Customer structure is %lu  \n",sizeof(c));
printf("size of Customer is %lu ",sizeof(struct Customer));


}

Output

Array Of Structures

Array

Arrays are simply a collection of multiple elements, but they must be of the same data type. An array of C can be defined as a way to combine multiple entities of similar type into a larger group. These entities or elements can be user-defined data types such as ints, floats, chars, double data types, or structures. However, all elements must have the same data type to be stored together in a single array. The items are organized from left to right, with the leftmost index being 0 and the rightmost index being (n-1).

Collection of characters, numbers are some examples of Arrays.

Array Of Structures

An array of structures is a simple array where each element is a structure of the same type.

struct Customer
{
int customerid;
char name[20];
};
struct student s1,s2

This is the normal format where we declare variables. If we want to add Sixty members, then declare 60 variables like s1,s2,s3, and many, finally, s60. Declaring like this is time taking when a huge number of variables are there, and the program length will increase, making the code more complicated.

So, it is better to take an array of these elements. They represent 60 structure objects, which is the main reason for using the Array of Structures.

Applications Of Array Of Structures

When we need to store many people's data where the required details are the same for all, it means when we collect 60 members' data, we need customer id and names. The values may differ from customer to customer, but the required details titles are the same.

Memory Allocation

Each array element is a structure object, and each object has all the details. A base address is assigned to the array. The allocation of 3 elements is like this. To access the customer id of the second customer, we need to say “c[2].customerid” .If we want to access the name, then s[2].name.

Array Of Structures

Example in C

#include <stdio.h>
struct Customer
{
int customerid;
char name[20];
}s[3];
int main()
{  
int i;
for(i;i<3;i++)
{
    printf("Enter the values of id and name \n");
scanf("%d \n %s",&s[i].customerid,&s[i].name);


}
printf("The entered details of all theree customers: \n");


for(int i;i<3;i++)
{
printf("\n %d \n %s \n",s[i].customerid,s[i].name);
}




    return 0;
}

Output

Array Of Structures

To display all details, we need to use for loop. Finally, we added 3 customers data and print them in the output.


Related Topics

Consumer billing system in C

Introduction : Billing has always been taught to do perfectly, we know today's world is full of products, and We all are using multiple products. We are buying and selling various...

9 minutes read.

Factorial Program in C Using While Loop

Before looking into the mechanism of factorial program, first, you have to understand about the working of a while loop. While Loop The syntax that has been used for the “while” loop...

4 minutes read.

Continue in C

C language: C language is a procedure oriented programming language. We can say that it is a platform dependent language. C language is introduced by Dennis Ritchie in the year 1970. We...

2 minutes read.

Infinite loop in C

Definition of infinite loop The infinite loop is a loop that does not get dismissed because of its looping construct. A continuous output or no output are the two possible outcomes...

3 minutes read.

Typedef vs define in C

Typedef VS define in C Typedef In the C programming language, a keyword called typedef can be used to give a type a new name. In other words, it is used to...

5 minutes read.

Reverse a Stack using Recursion in C

In this tutorial we will learn how recursion will be used in this case to reverse a stack. For loops, while loops, do-while loops, and similar constructions are not permitted....

5 minutes read.

C and C++ Binary Files

What is a binary file? A file in which the content is written in binary format is called a binary file. A binary file is not a text file. There are...

7 minutes read.

Sum of digits in C++

Sum of digits in C++ There are various ways to find the sum of the digits of a number in C++. We can use containers like arrays or other simple cases...

4 minutes read.

Calloc in C

The calloc() is a library function in C which is used for memory allocation. The calloc() function dynamically allocates multiple blocks of memory to complex data structures. This includes data structures...

3 minutes read.

What is 2s Complement in C?

The complement of 2s in C is generated from the 1s in C. As we know, the 1s complement of a binary number is generated by converting bit 1 to...

4 minutes read.

Git Hooks

Git Hooks Overview Just like other version control systems, Git has its way to deliver customized scripts whenever some important activity occurs. The hooks act just like the triggers or catalysts...

4 minutes read.

2f in C language

Float data type in c: Double-precision floating-point numbers with up to 17 significant digits are stored in the FLOAT data type. FLOAT is equivalent to C's double data type and IEEE...

3 minutes read.

Ceil function in C

Introduction In the C Programming Language, the ceil function is a library function which is used to obtain the ceil value, i.e., it returns the smallest integer that is greater than...

4 minutes read.

strcat() Function in C

Strings in c: A string is defined as the set of characters that are enclosed within the double quotations (" "). The String always ends with the null character ("\0"). The...

3 minutes read.

Banker’s Algorithm in C

Introduction Before doing a "s-state" check to look for potential activities and deciding if allocation should be allowed to continue, the banker's algorithm, a resource allocation and deadlock avoidance algorithm, tests...

5 minutes read.

Ferror() in c

Ferror():  In C, the ferror() function checks assuming there is a blunder in the given stream. The ferror() function is utilized to check for the document blunder on given stream. A return...

4 minutes read.

fgets() function in C

fgets() function is present in standard input and output library i.e, stdio.h library. It is a built-in function or pre-define function. It is used to read the specified stream from...

4 minutes read.

File Handling in C

File Handling is used to open, read, write, search and close file.  C files I/O functions handles data on secondary storage device. File handling function: There are varioushandling functions in C. Function Operation fopen() It is...

4 minutes read.

Find reverse of an array in C using functions

Introduction: Here, we describe how to find the reverse array in C using functions. Suppose you have an array with n elements. I need to display the elements present in...

3 minutes read.

Difference between rand() and srand() function in C

What is the rand()?The rand() means random function. This function is used in C. It generates random numbers in the range of 0 to the RAND_MAX. Suppose we generate a...

3 minutes read.