柔性数组
来源:互联网 发布:信访数据统计分析报告 编辑:程序博客网 时间:2024/05/11 09:28
c99中
结构中的最后一个元素允许是未知大小的数组 这就叫做柔性数组成员。
但结构中的柔性数组前面必须至少一个其他 成员,柔性数组成员允许结构中包含一个大小可变的数组.
sizeof返回的这种结构大小不包括柔性数组的内存.
包含柔数组成员的结构用malloc函数进行内存的动态分配,且分配的内存应该大于结构的大小 以适应柔性数组的预期大小.
柔性数组到底如何使用:例子:
typedef struct st_type
{
int i; int a[0];
}type_a;
有些编译器报错无法编译可改成:
typedef struct st_type
{
int i; int a[];
}type_a;
但是计算大小的时候,int a[]是作为一个指针来计算的,也就是说,
my_type_a = (type_a *)malloc(sizeof(type_a) + 100* sizeof(int));
长度仅仅算8,(在32位PC系统上)后面的数组的长度,是不计算在内的。
- 柔性数组
- 柔性数组!
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- 柔性数组
- oracle:blackout periods
- LinQ - Orderby
- c++ builder 只允许程序运行一个实例
- linux shell 自定义函数(定义、返回值、变量作用域)介绍
- Linux下的重启、关机命令
- 柔性数组
- 常用JS加密编码算法
- 可变参数函数
- oracle优化经验一
- Oracle10g优化笔记的实例介绍
- CopyU!新版将会重新设计UI
- Visual Studio使用小技巧6 – 为代码加上Using(Resolve using)和管理Using(Organize using)
- 生活随笔:喜欢了石进的《夜的钢琴曲》
- C# MessageBox 使用方法