C programming में data types बहुत ही महत्तवपूर्ण होते हैं कुछ data types पहले से बने होते हैं और कुछ data types Programmers के द्वारा बनाए जाते हैं । जो programmers के द्वारा बनाए जाए ऐसे data type derived data टाइप मे आते हैं । पिछले एक tutorial में हमने data types को समझा था क्यूकी structure को समझने के लिए आपको C data types के बारे मे अच्छा ज्ञान होना जरूरी हैं तभी आप आसानी से C programming में structure को समझ पाएंगे ।
इस tutorial में हम C language में structure को समझेंगे ।
एक tutorial में हमने array के बारे में सीखा था की array का उपयोग C programming क्यो किया जाता हैं । एक Array में समान data types के items को ही स्टोर किया जा सकता हैं और यदि different types के items हैं जिनके data types defferent होते हैं उनके लिए अलग अलग array बनाने पड़ते हैं जैसे – employees के डाटा record में – employee का नाम (Moahn) , employee की age (20),और employee की salary (25000.78 ) इस तरह से यहाँ पर तीन अलग अलाग डाटा टाइप हैं जैसे employee का नाम Mohan हैं जो की एक string हैं char data type होता हैं employee की age 20 हैं जो की integer डाटा टाइप में आता हैं और employee की सैलरी 25000.78 जो की double डाटा type होता हैं ।
इस तरह से यहाँ पर समान data types नही हैं तो इनको स्टोर करने के लिए तीन array बनाने पड़ेंगे एक array में सभी employees के नाम होंगे दूसरे में सभी employees की age होगी और तीसरे array में सभी employee की salary का data collection होगा इस तरह से C programming में काफी कठिन हो जाता हैं । इसी कठिनाई को दूर करने के लिए structure data type जिसे derived data टाइप को बनाया जाता हैं । जिसके द्वारा अलग अलग data items को भी एक group में single variable से access किया जा सकता हैं जो की प्रोग्राममिंग को काफी आसान बना देता हैं ।
Structure in C Programming | Hindi
Structure एक user defined data type होता हैं जिसका उपयोग अलग अलग data types के variables को contain (combine) करके एक group में रखने के लिए किया जाता हैं । जिसका फाइदा यह होगा की हम employee से related जैसे– employee का नाम , age और salary एक ही group मे रख सकते हैं और आसानी से सभी data items को single data type की तरह उपयोग कर सकते हैं । इस तरह से हर एक employee का एक unit बना सकते हैं और उपयोग कर सकते हैं । इससे यह आसानी हो जाएगी की एक स्टूडेंट का सभी डाटा name, age, salary आदि को single unit बन जाएगी और आसानी से किसी भी employee का डाटा access किया जा सकता हैं । इसलिए structure data type का उपयोग C language में किया जाता हैं ।
हलाकी structure array की तरह होता हैं परन्तु array में समान data types से बने variables का ग्रुप बनाते हैं और structure में अलग अलग data types से बने variables जैसे (int, char, float) आदि का ग्रुप बनाते हैं ।
Defining structure in C language -
एक tutorial में हमने C के tokens के बारे में सीखा था वहाँ पर keywords के बारे मे बताया गया था की C programming में program बनाते टाइम कोन कोन से keywords का उपयोग किया जाता हैं ।
Structure को define करने के लिए struct keyword का उपयोग किया जाता हैं । struct keyword की मदत से ही अलग अलग data टाइप के variables का एक group करके एक नया डाटा टाइप बना सकते हैं ।
Declaration of structure in C programming -
Structure को declare या define करना दोनों ही समान बात होती हैं । structure को struct keyword के साथ declare किया जाता हैं जो की नीचे दिये गए syntax में देख सकते हैं ।
struct structure_name
{
data_type member1_name;
data_type member2_name;
data_type member3_name;
...........
...........
data_type member(n)_name;
};
Structure में स्थित सभी items को member कहा जाता हैं ।
उपर दिये गए syntax में struct एक keyword हैं और structure_name data type का नाम हैं क्यूकी यहाँ पर हम structure का उपयोग कर रहे हैं तो struct keyword के साथ structure नाम भी define करना पड़ता हैं इसी नाम को data type का नाम भी कहते हैं । structure के अन्दर elements या items होते हैं जिन्हे Structure members कहा जाता हैं जो की किसी भी data types के हो सकते हैं जैसे (int,char,float).
Structure में members store करने के लिए { opening curly brace starting मे और closing } curley brace के साथ semicolon ; आखिरी में लगते हैं सभी members इनके बीच होते हैं जिसे हम block of code भी कह सकते हैं ।
साधारण हिन्दी भाषा में समझे तो structure नाम देने के बाद structure के curly braces {} के अंदर अलग अलग data types के variables को declare करते हैं । ये सभी variables structure members कहलाते हैं ।
Example –
struct employees
{
int id_no;
char name[20];
float height;
double salary;
};
या अन्य उदाहरण में –
struct users
{
int user_id;
char user_name[20];
};
इस तरह से structure की मदत से अलग अलग तरह के data types से बने variables को एक group में रखा जा सकता हैं और single structure variable के द्वारा सभी members values को उपयोग भी किया जा सकता हैं ।
Declaring structure variables in C language
जैसे की आप जानते हैं की जब हम variable declare करते थे variable वाले tutorial में तब variable के नाम से पहले data type आता था ठीक उसी प्रकार बिना variable के data type कोई काम का नही क्योकि हमने अभी तक structure data type बनाना सीखा परन्तु डाटा टाइप को उपयोग करने के लिए variable भी declare करना पड़ता हैं जैसे अब तक करते आ रहे थे की पहले data type फिर variable का नाम ऐसे ही अब structure data type तो बन चुका अब उसके बाद variable का नाम declare कर देते हैं । C programming में दो तरह से structures variable declare कर सकते हैं । पहले तरीके में structure declaration के समय ही और दूसरे तरीके में structure declaration के बाद ।
चलिये नीचे दोनों तरीके से C programming में structure variables को declare करना सीखते हैं ।
Structure variables declaration with structure declaration
struct structure_name
{
data_type member1_name;
data_type member2_name;
data_type member3_name;
...........
...........
data_type member(n)_name;
}variable_name1, variable_name2, ...;
उपर दिये गए syntax में आप देख सकते हैं की variables को structure के समय ही declare कर दिया गया हैं ।
उदाहरण –
struct employees
{
int id_no;
char name[20];
float height;
}emp1,emp2;
Structure variables declaration after structure declaration
Syntax-
struct structure_name variable_name1, variable_name2, ... ;
उदाहरण –
struct employees
{
int id_no;
char name[20];
float height;
};
struct employees emp1, emp2, ... ;
उपर दिये गए उदाहरण में हमने पहले structure declare किया उसके बाद structure variables declare किए ।
Access structure members using structure members in C language -
Structure declare किया, member बनाने सीखे और structure variables को declare करना सीखा वो भी 2 तरीको से अब इन variables के द्वारा structure members को access करना सीखेंगे ।
Structure members को access करने के लिए structure variables के साथ dot operator (.) का उपयोग करते हैं जो नीचे दिये गए syntax से समझ आ जाएगा ।
structure_variableName.member_name;
उपर दिये syntax में देख सकते हैं की structure members को access करने के लिए structure variable name के साथ dot (.) और member का नाम दिया जाता हैं जिससे उस member को access किया जा सकता हैं ।
Initialize structure members in C Programming
Structure members को structure declaration के साथ initialize नहीं कर सकते हैं क्यूकी ऐसा करने से error मिलती हैं ।
struct emp
{
int emp_id = 123;
float emp_rank= 4.5 };
Error –
ERROR: cannot initialize members here
Structure members को structure declare करने के बाद structure variables की मदत से initialize किया जाता हैं ।
#include<stdio.h>
struct employee
{
int emp_id;
char emp_name[40];
float emp_rank;
};
void main()
{
struct employee emp1 = { 123,”Mohan”, 4.5 }; //initialization of members
}
उपर दिये गए उदाहरण में आप देख सकते हैं की हमने structure members को structure declaration के बाद initialize किया हैं ।
C programming में structure members को initialize कुछ इस प्रकार से भी कर सकते हैं जैसे नीचे आप उदाहरण देख सकते हैं ।
#include<stdio.h>
struct employee
{
int emp_id;
char emp_name[40];
float emp_rank;
};
void main()
{
struct employee emp1;
emp1.emp_id=73;
strcpy(emp1.emp_name, "Mohan") ;
emp1.emp_id=4.5;
}
उपर दिये गए उदाहरण में आप देख सकते हैं की हमने अलग अलग structure members को initialize किया वो भी dot(.) Operator के साथ । यहाँ पर strcpy() एक inbuilt (readymade) function हैं जिसके द्वारा string को char array में copy किया गया हैं ।
Access structure members in C language –
अभी तक हमने dot (.) Operator क द्वारा structure members को initialize किया अब हम उसी dot (.) operator और structure variable के द्वारा structure members को access करेंगे जो की नीचे दिये गए उदाहरण से आप आसानी से समझ सकते हैं ।
#include<stdio.h>
struct employee
{
int emp_id;
char emp_name[40];
float emp_rank;
};
void main()
{
struct employee emp1;
emp1.emp_id=73;
strcpy(emp1.emp_name, "Mohan") ;
emp1.emp_rank=4.5;
printf( "Employee name is %s. Employee id is %d and rank is %f. ", emp1.emp_name, emp1.emp_id, emp1.emp_rank);
}
Output –
Employee name is Mohan. Employee id is 73 and rank is 4.5 .
इस तरह से आप देख सकते हैं की structure की मदत से कितनी आसानी से data group को बनाया और access किया गया हैं अगर यहाँ पर array उपयोग करते तो यहाँ पर तीन arrays बनाने पड़ते फिर उन तीनों arrays को आपस में लिंक करना पड़ता जो की काफी कठिन काम होता हैं इसलिए हम C programming में structure का उपयोग करते हैं ताकि अलग अलग तरह के डाटा types के variables को एक ग्रुप में रख कर single variable से access कर सके ।
C programming में Structure member input-output करना ।
C language में normal variable की value को scanf() function की मदत से user से लेते हैं और printf() की मदत से display करा देत हैं इसी तरीके से ही हम structure में करते हैं ।
नीचे दिये गए उदाहरण से आप समझ सकते हैं –
#include <stdio.h>
struct employees
{
int emp_id;
char emp_name[50];
float emp_rank;
};
int main()
{
struct employees emp1;
printf("Enter employee id. : ");
scanf("%d",&emp1.emp_id);
printf("Enter employee Name : ");
scanf("%s",emp1.emp_name);
printf("Enter employee rank : ");
scanf("%f",&emp1.emp_rank);
printf("\nEmployee id number : %d",emp1.emp_id);
printf("\nEmployee name: %s",emp1.emp_name);
printf("\nEmployee rank: %f",emp1.emp_rank);
return 0;
}
Output-
Enter employee id. : 102
Enter employee Name : Sohan
Enter employee rank : 4.7
Employee id number : 102
Employee name: Sohan
Employee rank: 4.700000
उपर दिये गए उदाहरण में आप देख सकते हैं की सबसे पहले user से employee id, name और rank enter करने के लिए console पर मैसेज display होता हैं फिर तीनों वैल्यू को user से लेने के बाद नीचे output display हो जाता हैं । C programming में इसे ही input output कहते हैं ।
Structure Array in C language
अभी तक हमने केवल एक ही employee का डाटा structure के द्वारा process कराया यह process 1 या 2 employee के लिए तो ठीक परंतु यदि 100 employees का data store करना पड़े और फिर process करना पड़े तो काफी बड़ा काम हो जाता हैं पर वहाँ पर हम structure array की मदत से आसानी से कितने भी employee का data store करा सकते हैं वो भी single structure की मदत से ।
नीचे दिये गए उदाहरण से आप structure array को आसानी से समझ जाएंगे –
#include <stdio.h>
struct employees
{
int emp_id;
char emp_name[50];
float emp_rank;
};
void main()
{
struct employees emp1[4];
int i;
for(i=0;i<4;i++){
printf("Enter employee id: ");
scanf("%d",&emp1[i].emp_id);
printf("Enter employee Name: ");
scanf("%s",emp1[i].emp_name);
printf("Enter employee rank: ");
scanf("%f",&emp1[i].emp_rank);
}
for(i=0;i<4;i++){
printf("\nEmployee id: %d,Employee name %s,Employee rank %f",emp1[i].emp_id,emp1[i].emp_name,emp1[i].emp_rank);
}
}
Output-
Enter employee id: 101
Enter employee Name: Mohan
Enter employee rank: 4.5
Enter employee id: 102
Enter employee Name: Sohan
Enter employee rank: 4.2
Enter employee id: 103
Enter employee Name: Rohan
Enter employee rank: 4.3
Enter employee id: 104
Enter employee Name: Shiva
Enter employee rank: 4.9
Employee id: 101,Employee name Mohan,Employee rank 4.500000
Employee id: 102,Employee name Sohan,Employee rank 4.200000
Employee id: 103,Employee name Rohan,Employee rank 4.300000
Employee id: 104,Employee name Shiva,Employee rank 4.900000
इस तरह से आप देख सकते हैं की यहाँ पर 4 employees का data structure array में for loop की मदत से input और output कराया । इस तरह से आसानी से structure array से कितना भी data store या access कर सकते हैं ।
इस तरह से आसानी से C programming में structure का उपयोग किया जाता हैं ।
Recommended Posts:-