https://www.rakeshmgs.in/search/label/Template
https://www.rakeshmgs.in

Hindi Notes

RakeshMgs

Introduction to Structure in Hindi | How to Define Structure in C Programming in Hindi

गुरुवार, मार्च 04, 2021

Introduction to Structure in Hindi

आप data types के बारे में पहले पढ़ चुके है। Predefined data types (int, char, float आदि) की तरह C user defined data types भी प्रोवाइड करती है। ऐसा ही एक user defined data type structure होता है।

Structure में आप दूसरे predefined data types को create कर सकते है और एक record तैयार कर सकते है। जैसे की आप किसी व्यक्ति के बारे में उसका नाम,पता और उम्र store करवाना चाहते है तो उस व्यक्ति के नाम से एक structure create कर सकते है और उसमे ये तीन variables create कर सकते है।

ऐसा करने से सारी information एक ही जगह पर होगी और एक ही नाम के द्वारा access की जा सकती है।

Structure किसी array की तरह ही होता है। इन में difference इतना होता है की array में आप एक ही type के data को store कर सकते है लेकिन structure के द्वारा different types के data को store किया जा सकता है।

जब एक बार आप कोई structure create करते है तो ये एक data type बन जाता है। अब आप इस data type के कितने भी variables create कर सकते है। और आप इस data type का array भी create कर सकते है।

लेकिन जब आप इस तरह के variable की value initialize करंगे तो आपको उस structure में define किये गए सभी variables की value initialize करनी होगी।

Structure को main method से पहले ही आप define कर सकते है।

Defining a structure

Structure के साथ काम करना बहुत ही आसान होता है। जैसा की मैने आपको पहले बताया ये किसी array की तरह ही होता है। आइये अब देखते है की structure को कैसे define किया जाता है और कैसे use किया जाता है।

Structure को define करने के लिए struct keyword use किया जाता है। इस keyword के बाद structure का unique नाम दिया जाता है। इसके बाद curly braces में variables create किये जाते है और ending curly bracket के बाद semicolon लगाया जाता है।

Syntax:

	
	
struct [structure_tag] { //member variable 1 //member variable 2 //member variable 3 ... }[structure_variables];

मान लीजिये आप किसी tShirt का record store करने के लिए एक structure बना रहे है तो उसे इस प्रकार define कर सकते है।

After the closing curly brace, we can specify one or more structure variables, again this is optional.

  
  
struct tShirt { //member variable 1 int price };

यँहा पर tShirt नाम से एक structure create किया गया है। इस structure में price नाम से एक variable create किया गया है। आप एक से ज्यादा variables भी create कर सकते है। आप इन variables को structure के अंदर initialize नहीं कर सकते है।

क्योंकि पहले struct (tShirt) type का variable create किया जायेगा फिर उस variable के माध्यम से हर record के लिए अलग से इन variables को initialize किया जाता है। इन variables को structure members कहा जाता है। जैसा की मैने आपको पहले बताया था उसी प्रकार ending curly braces के बाद semicolon लगाया गया है।

Creating Structure Variables

Structure variables आप 2 तरह से create कर सकते है।

  • With structure definition
  • Without structure definition

With Structure Definition

जब आप structure definition के साथ ही उस type के variables create करते है तो ending semicolon से पहले आप variables को comma से separate करके लिख देते है।

	
	
struct Student { char name[25]; int age; char branch[10]; //F for female and M for male char gender; }; //declaring variables of struct Student struct Student S1, S2;

Without Structure Definition

जब आप structure definition के बिना variables create करते है तो struct keyword use करते है। Struct keyword के बाद structure का नाम लिखा जाता है। और इसके बाद comma से separate करके जितने चाहो उतने variables लिख सकते है।

  
  
struct Student S1, S2;

Accessing Structure Members

Structure members को आप 2 वजह से access करते है। या तो आप members को values assign करवाने के लिए या फिर उनकी values को output के रूप में print करवाने के लिए आप structure members को access करते है। जब भी आप किसी भी structure member को access करते है तो ऐसा आप (.) dot operator द्वारा करते है।

मान लीजिये आप Student structure के variables को values assign करवाना चाहते है तो आप ये इस प्रकार कर सकते है।

  
  
Student.age=15;

यदि आप Student structure के variables को output के रूप में print करवाना चाहते है तो ऐसा आप इस प्रकार कर सकते है।

  
  
printf(“%d”,S1.price);

Exaple

    
#include <stdio.h> #include <string.h> struct student { char name[25]; int age; char branch[10]; //F for female and M for male char gender; }; int main() { struct Student s1; /* s1 is a variable of Student type and age is a member of Student */ s1.age = 18; /* using string function to add name */ strcpy(s1.name, "Viraaj"); /* displaying the stored values */ printf("Name of Student 1: %s\n" , s1.name); printf("Age of Student 1: %d\n" , s1.age); return 0; }

output

Name of Student 1: Viraaj
Age of Student 1: 18

terminal के माध्यम से structure members को values देने के लिए हम scanf() का भी उपयोग कर सकते हैं।

	
	
scanf(" %s " , s1.name); scanf(" %d " , &s1.age);

Structure Initialization

किसी अन्य डेटाटाइप के एक variable की तरह, structure variable को भी compile time पर initilized किया जा सकता है।

	
	
struct Patient { float height; int weight; int age; }; struct Patient p1 = { 180.75 , 73, 23 }; //initialization

or

	
	
struct Patient p1; p1.height = 180.75; //initialization of each member separately p1.weight = 73; p1.age = 23;

Array of Structure

हम structure variables की एक array भी declare कर सकते हैं। जिसमें array का प्रत्येक element एक structure variable का represent करेगा। Example : struct employee emp[5];

नीचे दिए गए program में size के एक array emp को परिभाषित किया गया है। array के प्रत्येक element कर्मचारी का प्रकार है.

    
#include <stdio.h> #include <string.h> struct Employee { char ename[10]; int sal; }; struct Employee emp[5]; int i, j; void ask() { for(i=0; i<3; i++) { printf("\nEnter %dst Employee record:\n" , i+1); printf("\nEmployee name:\t"); scanf("%s", emp[i].ename); printf("\nEnter Salary:\t"); scanf("%d", emp[i].sal); } printf("\nDisplaying Employee record:\n"); for(i = 0; i < 3; i++) { printf("\nEmployee name is %s"emp[i].ename); printf("\nSlary is %demp[i].sal); } } void main() { ask(); }

Structure as Function Arguments

एक structure को आप किसी function में argument के रूप में भी pass कर सकते है। इसके लिए आपको किसी प्रकार के special operator की आवश्यकता नहीं होती है। जिस प्रकार आप normal variables को function arguments के रूप में pass करते है उसी प्रकार आप structure object को भी function में pass करते है।

लेकिन आपको function declaration और definition में parameter को struct keyword के साथ define करना होगा।

Example:

#include <string.h> struct Student { char name[10]; int roll; }; void show(struct Student st); void main() { struct Student std; printf("\nEnter Student record:\n"); printf("\nStudent name:\t"); scanf("%s", std.name); printf("\nEnter Student rollno.:\t"); scanf("%d", &std.roll); show(std); } void show(struct Student st) { printf("\nstudent name is %s", st.name); printf("\nroll is %d", st.roll); }