`
emowuyi
  • 浏览: 1479991 次
文章分类
社区版块
存档分类
最新评论

C 标记化结构初始化语法 点运算符

 
阅读更多

已知一个结构体

struct point{

int posX;

int posY;

}

C99支持结构的指定初始化项目,结构的指定初始化项目使用点运算符和成员名(而不是方括号和索引值)来标识具体的元素。

如:

struct point Position{

.posX= 100,

.posY= 200

};

这个声明采用了标记化结构初始化语法。这种写法是值得采用的,因为它使驱动程序在结构的定义发生变化时更具有可移植性,并且使代码更加紧凑且易读。标记化的初始化方法允许对结构成员进行重新排列。在某些场合下,将频繁被访问的成员放在相同的硬件缓存行上,将大大提高性能。 ……ldd3


linux 内核中 这样初始化的结构体随处可见


来自我的baidu博客


分享到:
评论

相关推荐

    C#语言规范(2.0,3.0,4.0合集)

    10.5.5.2 实例字段初始化 295 10.6 方法 296 10.6.1 方法形参 298 10.6.1.1 值参数 299 10.6.1.2 引用形参 299 10.6.1.3 输出形参 300 10.6.1.4 形参数组 301 10.6.2 静态方法和实例方法 303 10.6.3 虚方法 304 ...

    C程序设计 第四版 谭浩强 高清扫描版 带完整书签目录 加 学习辅导

    9.1.3 结构体变量的初始化和引用 9.2 使用结构体数组 9.2.1 定义结构体数组 9.2.2 结构体数组的应用举例 9.3 结构体指针 9.3.1 指向结构体变量的指针 9.3.2 指向结构体数组的指针 9.3.3 用结构体变量和结构体变量的...

    java编程规范(第三版)

    8.7 静态初始化语句 181 8.8 构造函数声明 182 8.9 枚举 189 第9章 接口 197 9.1 接口声明 197 9.2 接口成员 200 9.3 字段(常量)声明 201 9.4 抽象方法声明 203 9.5 成员类型声明 205 9.6 注释类型 206 ...

    compiler:CC++ 子集像 Rust 一样重新语法,+ 标记联合模式匹配,UFCS,推理; LLVM。 例子

    大多数 C 运算符、函数、结构、if-else、 '一切都是表达式' 语法 Rust-like 'enum/Match' - 标记联合和模式匹配 C for 循环 + break../else{..} 表达式 RAII(析构函数) 函数重载+UFCS 有限的运算符重载(还...

    C#语言规范(4.0版本)

    10.5.5.2 实例字段初始化 295 10.6 方法 296 10.6.1 方法形参 298 10.6.1.1 值参数 299 10.6.1.2 引用形参 299 10.6.1.3 输出形参 300 10.6.1.4 形参数组 301 10.6.2 静态方法和实例方法 303 10.6.3 虚方法 304 ...

    C程序设计(第四版)学习辅导【谭浩强】

    6.1.3一维数组的初始化146 6.1.4一维数组程序举例147 6.2怎样定义和引用二维数组149 6.2.1怎样定义二维数组150 6.2.2怎样引用二维数组的元素151 6.2.3二维数组的初始化152 6.2.4二维数组程序举例153 6.3字符数组155 ...

    微软C#语言规范,C#语言教程中文版

    10.5.5.2 实例字段初始化 295 10.6 方法 296 10.6.1 方法形参 298 10.6.1.1 值参数 299 10.6.1.2 引用形参 299 10.6.1.3 输出形参 300 10.6.1.4 形参数组 301 10.6.2 静态方法和实例方法 303 10.6.3 虚方法 304 ...

    C#语言规范4.0

    10.5.5.2 实例字段初始化 295 10.6 方法 296 10.6.1 方法形参 298 10.6.1.1 值参数 299 10.6.1.2 引用形参 299 10.6.1.3 输出形参 300 10.6.1.4 形参数组 301 10.6.2 静态方法和实例方法 303 10.6.3 虚方法 304 ...

    C#_语言规范_4.0_中文版

    10.5.5.2 实例字段初始化 295 10.6 方法 296 10.6.1 方法形参 298 10.6.1.1 值参数 299 10.6.1.2 引用形参 299 10.6.1.3 输出形参 300 10.6.1.4 形参数组 301 10.6.2 静态方法和实例方法 303 10.6.3 虚方法 304 ...

    C#语言参考,微软的基础教程

    10.10.2 实例变量初始化函数 79 10.10.3 构造函数执行 79 10.10.4 默认构造函数 79 10.10.5 私有构造函数 79 10.10.6 可选的构造函数参数 79 10.11 析构函数 79 10.12 静态构造函数 79 10.12.1 类加载和初始化 79 11...

    C#语言参考C#语言参考

    10.10.2 实例变量初始化函数 210 10.10.3 构造函数执行 210 10.10.4 默认构造函数 212 10.10.5 私有构造函数 213 10.10.6 可选的构造函数参数 213 10.11 析构函数 213 10.12 静态构造函数 214 10.12.1 类加载和初始...

    Thinking in java(中文)

    “友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 <br>第6章 类再生 6.1 合成的语法 6.2 继承的语法 6.2.1 初始化基础类 6.3 合成与继承的结合 6.3.1 确保正确的清除 ...

    -C++参考大全(第四版) (2010 年度畅销榜

    23.7 成员初始化语法 23.8 利用关键字asm 23.9 连接说明 23.10 基于数组的I/O 23.11 C与C++的区别 第24章 标准模板库 24.1 STL概述 24.2 容器类 24.3 一般的操作原理 24.4 vector容器 24.5 list容器 24.6 map容器 ...

    微软 C#语言参考 CHM格式

    10.10.2 实例变量初始化函数... 210 10.10.3 构造函数执行... 210 10.10.4 默认构造函数... 212 10.10.5 私有构造函数... 213 10.10.6 可选的构造函数参数... 213 10.11 析构函数... 213 10.12 静态构造函数... 214 ...

    Thinking in Java 中文第四版+习题答案

    4.1 由构建器保证初始化 4.2 方法过载 4.2.1 区分过载方法 4.2.2 主类型的过载 4.2.3 返回值过载 4.2.4 默认构建器 4.2.5 this关键字 4.3 清除:收尾和垃圾收集 4.3.1 finalize()用途何在 4.3.2 必须执行清除 4.4 ...

    Think in Java(中文版)chm格式

    7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 7.6.4 static内部类 7.6.5 引用外部类对象 7.6.6 从内部类继承 7.6.7 内部类可以覆盖吗? ...

Global site tag (gtag.js) - Google Analytics