一段小程序,看的不是很明白。
时间:2011-05-27
来源:互联网
typedef struct iwlist_entry {
const char * cmd; /* Command line shorthand */
iw_enum_handler fn; /* Subroutine */
int max_count;
const char * argsname; /* Args as human readable string */
} iwlist_cmd;
static const struct iwlist_entry iwlist_cmds[] = {
{ "scanning", print_scanning_info, -1, "[essid NNN] [last]" },
{ "frequency", print_freq_info, 0, NULL },
{ "channel", print_freq_info, 0, NULL },
{ "bitrate", print_bitrate_info, 0, NULL },
{ "rate", print_bitrate_info, 0, NULL },
{ "encryption", print_keys_info, 0, NULL },
{ "keys", print_keys_info, 0, NULL },
{ "power", print_pm_info, 0, NULL },
#ifndef WE_ESSENTIAL
{ "txpower", print_txpower_info, 0, NULL },
{ "retry", print_retry_info, 0, NULL },
{ "ap", print_ap_info, 0, NULL },
{ "accesspoints", print_ap_info, 0, NULL },
{ "peers", print_ap_info, 0, NULL },
{ "event", print_event_capa_info, 0, NULL },
{ "auth", print_auth_info, 0, NULL },
{ "wpakeys", print_wpakeys_info, 0, NULL },
{ "genie", print_gen_ie_info, 0, NULL },
{ "modulation", print_modul_info, 0, NULL },
#endif /* WE_ESSENTIAL */
{ NULL, NULL, 0, 0 },
};
上面的程序看的不是很明白,能帮我讲讲吗?尤其比如说{ "frequency", print_freq_info, 0, NULL },这种格式是什么意思?他是iwlist_entry结构体里面的成员吗?
const char * cmd; /* Command line shorthand */
iw_enum_handler fn; /* Subroutine */
int max_count;
const char * argsname; /* Args as human readable string */
} iwlist_cmd;
static const struct iwlist_entry iwlist_cmds[] = {
{ "scanning", print_scanning_info, -1, "[essid NNN] [last]" },
{ "frequency", print_freq_info, 0, NULL },
{ "channel", print_freq_info, 0, NULL },
{ "bitrate", print_bitrate_info, 0, NULL },
{ "rate", print_bitrate_info, 0, NULL },
{ "encryption", print_keys_info, 0, NULL },
{ "keys", print_keys_info, 0, NULL },
{ "power", print_pm_info, 0, NULL },
#ifndef WE_ESSENTIAL
{ "txpower", print_txpower_info, 0, NULL },
{ "retry", print_retry_info, 0, NULL },
{ "ap", print_ap_info, 0, NULL },
{ "accesspoints", print_ap_info, 0, NULL },
{ "peers", print_ap_info, 0, NULL },
{ "event", print_event_capa_info, 0, NULL },
{ "auth", print_auth_info, 0, NULL },
{ "wpakeys", print_wpakeys_info, 0, NULL },
{ "genie", print_gen_ie_info, 0, NULL },
{ "modulation", print_modul_info, 0, NULL },
#endif /* WE_ESSENTIAL */
{ NULL, NULL, 0, 0 },
};
上面的程序看的不是很明白,能帮我讲讲吗?尤其比如说{ "frequency", print_freq_info, 0, NULL },这种格式是什么意思?他是iwlist_entry结构体里面的成员吗?
作者: joemax 发布时间: 2011-05-27
个人认为,是的。其实这段程序我完全不明白是什么意思。大约是定义一结构体,再定义这个结构体类型的一个数组,赋值。
作者: subfate 发布时间: 2011-05-27
就是定义一个结构体数组,并且赋值。
作者: jianle1000 发布时间: 2011-05-27
看样子是函数入口数组,通过输入命令cmd决定选择使用哪一个入口,fn是函数指针,max_count是参数的个数,argsname是参数列表。
比如,输入"rate"时,就要调用函数:print_bitrate_info();
比如,输入"rate"时,就要调用函数:print_bitrate_info();
作者: woweiwokuang0000 发布时间: 2011-05-27
static const struct iwlist_entry iwlist_cmds[] 这不是定义了一个iwlist_entry类型的结构体数组iwlist_cmds嘛;
{ "frequency", print_freq_info, 0, NULL }这是对数组iwlist_cmds中的成员(每一个数组成员都是一个iwlist_entry结构体变量)进行初始化:
cmd="frequency"
fn=print_freq_info
max_count=0
argsname=NULL
{ "frequency", print_freq_info, 0, NULL }这是对数组iwlist_cmds中的成员(每一个数组成员都是一个iwlist_entry结构体变量)进行初始化:
cmd="frequency"
fn=print_freq_info
max_count=0
argsname=NULL
作者: wyjie1987 发布时间: 2011-05-27
这种设计挺常见的,不错的设计。需要注意的是fn是一个函数指针。
作者: lishanchao 发布时间: 2011-05-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28