打印

如何申请一个内含可变大小的结构数组的结构啊?

[复制链接]
1716|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
z_no1|  楼主 | 2013-10-14 09:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一般静态的是这样的。
MENU.H
        typedef struct
                {
                uint32_t **;       
                uint8_t menu_page_sn[DISP_MENU_NUM];
                  uint32_t menu_page_delay[DISP_MENU_NUM];
                  uint16_t menu_crc16;
                } DISP_MENU;       
        typedef union
                {
                DISP_MENU disp_menu;
                uint8_t config_u8t  [DISP_CONFIG_ZOOM];       
                uint32_t config_u32t[DISP_CONFIG_ZOOM/4];       
                }TT_CONFIG;         
  TT_CONFIG tt_config;
如果 menu_page_sn和menu_page_delay的大小要运行时才能确定,申请可以用malloc(),但typedef的声明怎么写啊?

相关帖子

沙发
z_no1|  楼主 | 2013-10-14 10:06 | 只看该作者
typedef是不是里面的值一定要是常量啊?

使用特权

评论回复
板凳
dqyubsh1| | 2013-10-14 10:36 | 只看该作者
结构大小应该是固定的,可以定义结构数组,它的大小动态分配。

使用特权

评论回复
地板
z_no1|  楼主 | 2013-10-14 10:40 | 只看该作者
不能结构大小动态改变么?

使用特权

评论回复
5
dirtwillfly| | 2013-10-14 10:42 | 只看该作者
为什么不用指针哪?

使用特权

评论回复
6
z_no1|  楼主 | 2013-10-14 10:49 | 只看该作者
要不这样行不?
先申请一个空间,然后自己计算上面的结构里的每一个变量(不管单字节的还是数组)的指针,然后用这个替代结构指针,如何?

使用特权

评论回复
7
z_no1|  楼主 | 2013-10-14 11:05 | 只看该作者
或者打散,一个结构里就放各变量的指针和大小在里面,实际的放malloc()申请到的空间里,然后拷贝的时候就麻烦了。要特定程序了。

使用特权

评论回复
8
z_no1|  楼主 | 2013-10-14 15:41 | 只看该作者
斑竹老大,这是不是就是你说的用指针啊?

使用特权

评论回复
9
nashouat| | 2013-10-14 23:05 | 只看该作者
定义柔性数组

使用特权

评论回复
10
linfeng24| | 2013-10-14 23:31 | 只看该作者
用指针吧

使用特权

评论回复
11
mcu5i51| | 2013-10-15 14:59 | 只看该作者
同指针,好像用C的话没有好办法了,类型,结构体等本身是定长的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

223

主题

2645

帖子

10

粉丝