focus on linux, c/c++, lua

1长度数组使用备忘

看了源代码,我明白了。他只是用对上存放SOCKET的句柄。。我们看一下他的新定义结构体。

struct win_fd_set {
u_int fd_count;
SOCKET fd_array[1];
};

这个就是新定义结构体,跟原来稍微有点变化只是把64改为1,有些同学可能见多很多这样的写法,这种写法我也在一些项目使用了。这种写法可以fd_array动态变化。
win_fd_set * Set = (win_fd_set*)malloc(sizeof(win_fd_set) + sizoef(SCOEKT) * 10);
Set->fd_array 可以放11 个 SOCKET,因为我的内存大小足够放11个SOCKET。
请记住内存是没有数据格式,只要足够大小,随便你怎么放。数据格式只是方便我们管理和处理数据而已。

posted on 2013-12-11 10:23 zuhd 阅读(1151) 评论(0)  编辑 收藏 引用 所属分类: c/c++


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理