Maison > développement back-end > C++ > En langage C, membres d'un tableau variable dans une structure

En langage C, membres d'un tableau variable dans une structure

WBOY
Libérer: 2023-09-14 15:17:09
avant
804 Les gens l'ont consulté

En langage C, membres dun tableau variable dans une structure

Les membres de tableau flexibles dans les structures C signifient que nous pouvons déclarer des tableaux sans dimensions dans la structure et que leurs tailles sont intrinsèquement flexibles. Les membres du tableau flexible doivent être les derniers membres de la classe.

Voici un exemple :

Exemple

#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</p><p>" "Employee Name : %s</p><p>" "Name Length: %d</p><p></p><p>", 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</p><p>",
   sizeof(struct employee));
   return 0;
}
Copier après la connexion

Sortie

Employee_id : 26
Employee Name : Ram
Name Length: 3
Employee_id : 53
Employee Name : Madhu
Name Length: 5
Size of structure Employee: 12
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal