by wzq3653085 - Linux新手园地 - 2011-05-29 20:01:59 阅读(3167) 回复(3)
本帖最后由 消失在地平线 于 2010-04-07 14:38 编辑 好久没写代码了,很生疏,各个帮忙看看有哪些地方错了; 以前的实现 在定义结构体数组的时候就初始化 *.h[code]typedef struct { uint32 alias; uint32 position; uint16 vendor_id; uint16 device_id; uint16 index; uint16 subindex; uint16 *offset; uint16 *suboffset; }cap_entry_reg_t; *.c define NUM 4 static cap_entry_reg_t e...
#include
/*有一个习题里要求对一个结构体数组进行订制初始化(designated initialization)。要求如下:建立一个结构体(A),该结构体成员包括一个字符数组和另一个结构体(B)。这个内嵌的结构体又包含三个成员,均为字符串数组。然后创建A结构体的数组,包含5个元素。完成这一步之后对该数组进行初始化。内容为:让结构体A中的字符串装载一串数字字符。让结构体B中的三个成员分别装载一个英文名字。还要求将数组A的第五个元素中的结构体...
Netfilter代码在初始化initial_table表的时候,针对里面的数组成员,使用了如下的初始化方式: struct ebt_replace_kernel { char name[EBT_TABLE_MAXNAMELEN]; unsigned int valid_hooks; /* nr of rules in the table */ unsigned int nentries; /* total size of the entries */ unsigned int entries_size; /* start of the chains */ struct ebt_entries *hook_entry[NF_BR_NUMHOOKS];...
阅读内核代码时,发现结构体中数组成员的初始化方式可以这样使用,示例代码是scutan兄写的,贴出来与大家分享。
#include
我们知道 编译器在编译程序时 最终把程序的二进制文件最少分成三个段: .text (放代码) .data (放已初始化不为0的数据,占用二进制文件的大小 即使初始为0的数据扔然放在.bss只少在gcc上是如此) .bss(放未初始化的数据,不占用二进制文件的大小,而是在加载程序运行时由系统为这个段分配内存空间,并把这片内存初始化为0) 现在我想如何让gcc把全局未初始化变量、结构体、数组的数据放在.data段中,分配空间 不是把它们放...
[code]#include
struct key_info { char * name; //button名称 int keyval; //键值 int state; //状态 GtkWidget * button; //button } key_table[] = { { .name = "*", //提示地方 .keyval = 0xFFAA }, { .name = "OK", //提示地方 .keyval = 0xFF0D }, 。。。 } 编译提示:parse error before '.' token,请问是什么错误?谢谢各位。。