Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C . में एक संरचना में लचीले ऐरे सदस्य

सी में एक संरचना में लचीले ऐरे सदस्यों का मतलब है कि हम संरचना के भीतर इसके आयाम के बिना सरणी घोषित कर सकते हैं और इसका आकार प्रकृति में लचीला होगा। लचीला सरणी सदस्य कक्षा का अंतिम सदस्य होना चाहिए।

यहां एक उदाहरण दिया गया है:

उदाहरण

#include
#include
#include
//structure of type employee and must contain at least one more named member
in addition to the flexible array member.
struct employee
{
   int emp_id;
   int name_len;
   int emp_size; //‘emp_size’ variable is used to store the size of flexible
   character array emp_name[].
   char emp_name[]; //Flexible array member emp_name[] should be the last member of class.
};
struct employee *createEmployee(struct employee *e, int id, char a[])
{
   e = (struct employee *)malloc( sizeof(*e) + sizeof(char) * strlen(a)); //memory allocation
   e->emp_id = id;
   e->name_len = strlen(a);
   //Assigning size according to size of emp_name which is a copy of user provided
   array a[].
   strcpy(e->emp_name, a);
   return e;
}
void printEmployee(struct employee *e) //print the details of the employee.
{
   printf("Employee_id : %d\n" "Employee Name : %s\n" "Name Length: %d\n\n", e->emp_id, e->emp_name, e->name_len);
}
int main()
{
   struct employee *e1 = createEmployee(e1, 26, "Ram");
   struct employee *e2 = createEmployee(e2, 53, "Madhu");
   printEmployee(e1);
   printEmployee(e2);
   printf("Size of structure Employee: %lu\n",
   sizeof(struct employee));
   return 0;
}

आउटपुट

Employee_id : 26
Employee Name : Ram
Name Length: 3
Employee_id : 53
Employee Name : Madhu
Name Length: 5
Size of structure Employee: 12

  1. डेटा संरचना में सरणी प्रतिनिधित्व की सरणी

    इस खंड में हम बहुआयामी सरणियों का एक और प्रतिनिधित्व देखेंगे। यहां हम Arrays के प्रतिनिधित्व का Array देखेंगे। इस रूप में, हमारे पास एक सरणी है, जो कई सरणियों के शुरुआती पते रखती है। प्रतिनिधित्व इस तरह दिखेगा। यह एक द्वि-आयामी सरणी x आकार [7 x 8] है। प्रत्येक पंक्ति को एकल एकआयामी सरणी के रूप मे

  1. डेटा संरचना में ऐरे दोहरीकरण

    कभी-कभी हम गतिशील स्मृति आवंटन का उपयोग करके सरणी बनाते हैं। यदि गतिशील स्मृति आवंटन तकनीक का उपयोग करके सरणी आवंटित की जाती है, तो हम कुछ संचालन करके सरणी के आकार को दोगुना कर सकते हैं। मान लीजिए प्रारंभिक सरणी आकार 5 था। सरणी 0 1 2 3 4 तत्व 1 तत्व 2 तत्व 3 तत्व 4 तत्व 5 सर

  1. डेटा संरचना में एकल सरणी में एकाधिक सूचियां

    ऐरे प्रतिनिधित्व मूल रूप से स्थान की बर्बादी है जब यह डेटा संग्रहीत कर रहा है जो समय के साथ बदल जाएगा। कुछ डेटा स्टोर करने के लिए, हम कुछ जगह आवंटित करते हैं जो एक सरणी में एकाधिक मानों को स्टोर करने के लिए पर्याप्त है। मान लीजिए कि हम सरणी के आकार को बढ़ाने के लिए सरणी दोहरीकरण मानदंड का उपयोग करते