标号元素

来源:互联网 发布:淘宝客网站建站程序 编辑:程序博客网 时间:2024/04/29 23:48

 
在标准 C 里,数组或结构变量的初始化值必须以固定的顺序出现,而在 GCC 中,通过指定索引或结
构域名,则允许初始化值以任意顺序出现。
指定数组索引的方法是在初始化值前写“[INDEX] =”
,还可以使用“[FIRST ... LAST] =”的形式指定
一个范围,比如:
 

++++ arch/ia64/kernel/acpi.c132 int platform_intr_list[ACPI_MAX_PLATFORM_INTERRUPTS] = {133 [0 ... ACPI_MAX_PLATFORM_INTERRUPTS - 1] = -1134 };将数组 platform_intr_list 的任何元素都初始化为-1。对于结构初始化,比如:++++ fs/ext2/file.c42 const struct file_operations ext2_file_operations = {43 .llseek = generic_file_llseek,44 .read = do_sync_read,45 .write = do_sync_write,46 .aio_read = generic_file_aio_read,47 .aio_write = generic_file_aio_write,48 .ioctl = ext2_ioctl,49 #ifdef CONFIG_COMPAT50.compat_ioctl= ext2_compat_ioctl,51 #endif52 .mmap= generic_file_mmap,53 .open= generic_file_open,54 .release = ext2_release_file,55 .fsync56 .splice_read = generic_file_splice_read,57 .splice_write     = ext2_sync_file,    = generic_file_splice_write,58 }
 


将 结 构 ext2_file_operations 的 元 素 llseek 初 始 化 为 generic_file_llseek , 元 素 rea 初 始 化 为
genenric_file_read,依次类推。使用这种形式,当结构体的定义变化导致元素的偏移位置改变时,仍然可
以确保已知元素的正确性。对于未出现在初始化中的元素,其初值为 0。

0 0
原创粉丝点击