文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档><<原创>> GNU C的0长度数组

<<原创>> GNU C的0长度数组

时间:2007-01-31  来源:taoyuetao

================================

Author: taoyuetao
Email: [email protected]
Blog: taoyuetao.cublog.cn

================================

零长度数组

GNU C 允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例

如:

++++ include/linux/minix_fs.h

85: struct minix_dir_entry {

86:         __u16 inode;

87:         char name[0];

88: };

结构的最后一个元素定义为零长度数组,它不占结构的空间。在标准 C 中则需要

定义数组长度为 1,分配时计算对象大小比较复杂。

例如在2.6内核的usb驱动当中,usb_hcd数据结构最后一个参数是

unsigned long hcd_priv[0]   __attribute__ ((aligned (sizeof(unsigned long))));

就是定义了零长度数组,实际长度可在以后使用kmalloc来划分

相关阅读 更多 +
排行榜 更多 +
方舟生存进化2.0手机版下载安装

方舟生存进化2.0手机版下载安装

角色扮演 下载
图书馆挠痒大作战游戏下载

图书馆挠痒大作战游戏下载

休闲益智 下载
假面骑士响鬼模拟器豪华版下载

假面骑士响鬼模拟器豪华版下载

角色扮演 下载