
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</p><p>" "Employee Name : %s</p><p>" "Name Length: %d</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/xiazai/code/11113">
<img src="https://img.php.cn/upload/webcode/000/000/001/176500620968446.jpg" alt="云网OA">
</a>
<div class="aritcle_card_info">
<a href="/xiazai/code/11113">云网OA</a>
<p>采用JSP开发的办公自动化产品、基于B/S结构,运行环境:JDK v1.5、Tomcat v5.5、MySQL v4.1,三者均为以上版本其他相关内容:可视化流程设计: 流程支持串签、会签和分支流程,可以设置流程节点的修改、删除权限,并可指定流程中各个用户在表单中可以填写的域。智能表单所见即所得设计: 智能设计,自动在数据库中生成表格,方便优化程序 公共交流: 集论坛、博客、聊天室于一体文件柜:C</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="云网OA">
<span>0</span>
</div>
</div>
<a href="/xiazai/code/11113" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="云网OA">
</a>
</div>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/3851895a4c84" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">C语言免费学习笔记(深入)</a>”;</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;
}Employee_id : 26 Employee Name : Ram Name Length: 3 Employee_id : 53 Employee Name : Madhu Name Length: 5 Size of structure Employee: 12
以上就是在C语言中,结构体中的可变数组成员的详细内容,更多请关注php中文网其它相关文章!
C语言怎么学习?C语言怎么入门?C语言在哪学?C语言怎么学才快?不用担心,这里为大家提供了C语言速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号