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

[复制链接]
2055|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 | 显示全部楼层
不能结构大小动态改变么?
dirtwillfly 发表于 2013-10-14 10:42 | 显示全部楼层
为什么不用指针哪?
 楼主| z_no1 发表于 2013-10-14 10:49 | 显示全部楼层
要不这样行不?
先申请一个空间,然后自己计算上面的结构里的每一个变量(不管单字节的还是数组)的指针,然后用这个替代结构指针,如何?
 楼主| z_no1 发表于 2013-10-14 11:05 | 显示全部楼层
或者打散,一个结构里就放各变量的指针和大小在里面,实际的放malloc()申请到的空间里,然后拷贝的时候就麻烦了。要特定程序了。
 楼主| z_no1 发表于 2013-10-14 15:41 | 显示全部楼层
斑竹老大,这是不是就是你说的用指针啊?
nashouat 发表于 2013-10-14 23:05 | 显示全部楼层
定义柔性数组
linfeng24 发表于 2013-10-14 23:31 | 显示全部楼层
用指针吧
mcu5i51 发表于 2013-10-15 14:59 | 显示全部楼层
同指针,好像用C的话没有好办法了,类型,结构体等本身是定长的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

2659

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部