博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
柔性数组
阅读量:6431 次
发布时间:2019-06-23

本文共 1035 字,大约阅读时间需要 3 分钟。

1、概念:柔性数组即数组大小待定的数组

2、原理:结构体中最后一个元素允许是未知大小的数组,故可以由结构体产生柔性数组,但结构中的柔性数组前面必须至少一个其他成员。
3、定义:

1 struct s_test 2 { 3     int a; 4     double b; 5     float array[]; //或者写成float array[0];6 };

  0长度的数组在ISO C和C++的规格说明书中是不允许的,会有警告。gcc 为了预先支持C99的这种玩法,不会有警告。

4、应用 

1 #include 
2 #include
3 4 void SoftArray(int SoftArrayLength) 5 { 6 int i; 7 typedef struct _soft_array 8 { 9    int len;10    int array[]; //或者写成:int array[0];11 }SoftArray;12 SoftArray* sa = (SoftArray*)malloc(sizeof(SoftArray) + sizeof(int) * SoftArrayLength);13 sa->len = SoftArrayLength;14 for(i=0; i
len; i++)15 {16 sa->array[i] = i + 1;17 }18 for(i=0; i
len; i++)19 {20 printf("%d\n", sa->array[i]); 21 }22 free(sa);23 }24 25 int main()26 { 27 SoftArray(20);28 return 0;29 }

参考博客:http://www.cnblogs.com/Daniel-G/archive/2012/12/02/2798496.html

转载于:https://www.cnblogs.com/Pual623548198/p/7272037.html

你可能感兴趣的文章
我的Git忽略文件
查看>>
Java基础学习总结(8)——super关键字
查看>>
我的友情链接
查看>>
青春路上,岁月如烟
查看>>
lmis的一些表
查看>>
库房分析数据
查看>>
BZOJ4849[Neerc2016]Mole Tunnels——模拟费用流+树形DP
查看>>
Linux学习笔记——网络属性管理
查看>>
21分钟Mysql入门教程
查看>>
ActiveMQ学习总结(2)——ActiveMQ入门实例教程
查看>>
RabbitMQ学习总结(2)——安装、配置与监控
查看>>
理解COM套间(第二部分)
查看>>
产品级搜索技术-全文本索引
查看>>
在Linux中,用什么命令可以查看到用户组中包含有哪里用户? usermod
查看>>
性能更出色 The New iPad售价仅3216元
查看>>
Servlet和jsp运用session
查看>>
js创建对象的几种方式
查看>>
python入门基础教程10 python的分支语句
查看>>
IT小妙招:游刃有余的Windows 7计算器
查看>>
shell里使用正则表达式提取括号中的内容
查看>>