C结构中的灵活数组成员
C语言中结构中的灵活数组成员意味着我们可以在结构中声明不带维数的数组,并且其大小实际上是灵活的。灵活数组成员必须是类的最后一个成员。
这是一个例子:
示例
#include
#include
#include
//雇员类型的结构,并且必须至少包含一个其他命名成员
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);
//根据emp_name的大小分配大小,这是用户提供的副本
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
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短