瑞鲁手机APP下载网_专注推荐好用的手机APP和游戏APP

关于变长结构体 PHP

关于变长结构体 的一些讨论

查看人次:1摘自:瑞鲁手机APP

据国外媒体报道,诺基亚负责智能设备业务的执行副总裁乔·哈罗(Jo Harlow)日前表示,诺基亚的首批Windows手机将包括一些专为中国市场设计的产品,其中可能有一款CDMA版Windows手机。

lol官方消息,lol体验服即将加入2015季前赛的一些实验性改动,现在lolS4即将结束,拳头公司的一系列改动也将到来,让我们一起看看吧

  下载地址

A:我是这样定义的,不知对不对    typedef   struct   tagTest{    int   uID;//标志    int   iNum;//个数    int   offset;//偏移量    char   *str;//指针    }TEST_S;    uID是固定的,iNum个数是这样的,根据后面的,比如:    我需要返回两对数据,则为2,但我不知如何把这两对数据存入这个结构体中,也有可能是3对数据,数据类型可以是int   .谢谢!    B:我认识一个高人,很喜欢用这种结构,他颇有心得,我就在这里说一下    type   struct   tagTest    {    int   uID;    int   iNum;    int   offset    int   data[1];    }   test;    data是一个数据,个数为1,但是其实在使用的时候,不一定为1,也就是说在上述结构不能    直接test   tt;这样声明,必要声明成指针,然后在malloc的时候,根据iNum数目进行申请,    譬如iNum为5个int,这可以这样    p   =   (test   *)malloc(sizeof(test)   +   (iNum   -   1)   *   sizeof(int));    这样,后面的内容可以通过p-> data[i]访问了:)    C:如果编译器够新,可以用VLA:    type   struct   tagTest    {    int   uID;    int   iNum;    int   offset    int   data[];    }   test;    使用时就不需要减一了:    p   =   (test   *)malloc(sizeof(test)   +   iNum   *   sizeof(int));    这里的data只是个占位符,sizeof(test)=3*sizeof(int)。

相关文摘:技术开发 C语言
标题名称:《关于变长结构体 PHP》
本文网址:https://www.sdruilu.cn/news/tpart-51844.html