What is Structures in C Programming
STRUCTURES IN C PROGRAMMING
DEFINITION AND INTRODUCTION:
A structure is a user-defined datatype in C language which allows us to combine data of different types together.
- Consider an example If I have to record the particulars of a student then I need to collect his name, age, gender, etc. Then I would have to do this for each student.
- It is almost similar to an array with the exception that an array encompasses data of similar type.
- The major difference between an array and structure is that a structure can uphold data of totally different types which makes it more user-friendly to program.
- Inside a structure, data is collected in the form of records.
Defining a structure:
- The specific keyword struct is used to define any structure.
STRUCTURE SYNTAX:
Struct[structure_name]
{
[structure_objects];
}
DECLARING STRUCTURE VARIABLES SEPARATELY:
struct student
{
char name[20];
int age;
Char name;
Char gender;
};
DECLARING STRUCTURE OBJECTS:
struct student
{
char name[20];
int age;
Char name;
Char gender;
} St1,St2;
- Here St1 AND St2 are the objects /variables to the structure student as defined by the user.
Accessing structure members:
- These elements can be accessed in many amounts of ways.
- Therefore assignment can be done in multiple ways.
- For the successful assignment of any value to an object within a structure, the member of the structure has to assigned to a specific operator known as dot operator/period operator.
EXAMPLE:
#include<stdio.h>
#include<string.h>
struct student
{
char name[25];
char branch;
Int age;
char gender;
};
Int main()
{
struct student s1;
s1.age=34;
strcpy(s1.name,”KEVIN”);
printf(“Age of student s1 is %d”,s1.age);
printf(“name of student s1 is %s”,s1.name);
return 0;
}
INITIALIZATION IN STRUCTURE:
- If you want to directly initialize the structure variables u can do in the following format:-
Void main()
{
Struct Patient
{
float height;
int weight;
Int age
};
Struct patient p1= {6.5, 35,24};
}
ARRAY OF STRUCTURE:
- Here each individual element of array will represent a structure variable/member.
- Consider for example STRUCT employee emp[10].
- This basically denoted that there is a maximum of 10 employee objects for the structure called employee.
NESTED STRUCTURE:
- There is another condition called nested structure which basically implies a structure contained within a structure.
EXAMPLE:
STRUCTURE 1 STUDENT ADDRESS:
struct stu_address
{
Int street;
Char *state;
Char *state;
Char *country
}
STRUCTURE 2 : STUDENT DATA:
Struct stu_data
{
int stu_id;
Int stu roll no;
Struct stu_address stu_add;
}
Here stu_add is declared as an object common to both structures.
USE OF TYPEDEF IN STRUCTURE:
- The primary function of this typedef is to make the program a lot legible and easier.
- It is like an alternative form of structure.
EXAMPLE:
CODE WITHOUT USING TYPEDEF
struct home_add
{
int street;
char *state;
char *country;
char *town;
};
struct home_add var;
var.town = “agra”;
CODE WITH TYPEDEF:
typedef struct home_add
{
int street;
Char *state;
Char *country;
Char *town;
};addr;
addr var;
var.town = “agra”;
STRUCTURE AS FUNCTION ARGUMENTS:
#include<stdio.h>
Struct student
{
Char name[20];
Int roll no;
}
void show(struct student st);
Void main()
{
Struct student std;
printf(“\n Enter the student record name\n:”);
scanf(“%s”,std.name);
printf(“\nEnter the student roll number\n”);
scanf(“%d”,&std.roll no);
show(std);
}
void show(struct student st)
{
printf(\n”Student name is %s\n”,st.name);
printf(“\nStudent roll number is %d”,st.roll no);
}