免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4744 | 回复: 3
打印 上一主题 下一主题

[驱动] 结构体变量名前加点? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-05 01:10 |只看该作者 |倒序浏览
本帖最后由 李大双 于 2012-02-05 01:10 编辑

一个wifi驱动的源码。
变量名为什么前边加点?


这种写法是什么意思?后边的大括号这种语法作用是什么?
.reg_rules = {
          ATH9K_2GHZ_CH01_11,
          ATH9K_2GHZ_CH12_13,
          ATH9K_5GHZ_NO_MIDBAND,
      }

论坛徽章:
0
2 [报告]
发表于 2012-02-09 14:50 |只看该作者
这个点号该是c99的语法,这样就可以初始化结构体中对应的字段了。好处是不用管结构体中各个字段的顺序,或者说它的内存布局。

以及初始化数组可以这样:
enmu {
  NR_fork,
  NR_open
};

int systab[] = {
  [NR_fork] = &sys_fork,
  [NR_open] = &sys_open,
  ...
};

论坛徽章:
0
3 [报告]
发表于 2012-02-10 09:40 |只看该作者
回复 2# Fleurer


    你的这种写法,我倒还真没见过。一般都只在内核使用,应用层很少使用,是吗?

论坛徽章:
0
4 [报告]
发表于 2012-02-10 12:40 |只看该作者
回复 3# 伤不起

可能是因为出现比较晚吧,用的人可能少些。而且C++并没有引入这样的语法。

其实用在用户态程序里也是挺萌的。


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP