
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/shouce/1785">
<img src="https://img.php.cn/upload/manual/000/000/016/170693311554316.png" alt="Shell脚本编写基础 中文WORD版">
</a>
<div class="aritcle_card_info">
<a href="/xiazai/shouce/1785">Shell脚本编写基础 中文WORD版</a>
<p>Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="Shell脚本编写基础 中文WORD版">
<span>24</span>
</div>
</div>
<a href="/xiazai/shouce/1785" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="Shell脚本编写基础 中文WORD版">
</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号