柔性数组

想起以前有人讨论的一个问题,柔性数组。于是就记录一下:

在c语言中用得比较多吧,尤其在通信中用得多:

struct Buffer
{
    int len;
    char data[0];
};

其中的data是一个可变长度的数组,这主要是为了节约空间。可以根据需要发送的报文长度来决定数组的大小。例如要发送的报文长度为4096:

char *tmp = (char*)malloc(sizeof(Buffer)+4096);
Buffer *p = (Buffer*)tmp;
p->len = 1024;
memcpy(p.data,strData,1024);

删除时free(p)即可。

看到malloc又想起两个问题:

1.我要申请一个连续的大内存时要怎么做?(例如申请4G内存)

2.malloc的结构是怎么样的?

4.A星算法

5.大数据动态排序数据结构设计

6.日志记录系统(erl?)

7.红黑树,二叉平衡树。

8.linux下查看栈空间大小ulimit -s / ulimit -a

9.统计一个文件夹下文件与文件夹的个数(非递归)。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值