结构体中变量名前的点是什么意思?

2023-12-24

查看linux内核源代码,我发现了这一点:

static struct tty_operations serial_ops = {
  .open = tiny_open,
  .close = tiny_close,
  .write = tiny_write,
  .write_room = tiny_write_room,
  .set_termios = tiny_set_termios,
};

我在C语言中从未见过这样的表示法。 为什么变量名前面有一个点?


这是一个指定初始化程序 http://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html,这是为 C99 添加的语法。 相关摘录:

在结构初始值设定项中,指定要初始化的字段的名称 在元素值之前添加“.fieldname =”。例如,给定 以下结构,

struct point { int x, y; }; 

以下初始化

struct point p = { .y = yvalue, .x = xvalue }; 

相当于

struct point p = { xvalue, yvalue };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

结构体中变量名前的点是什么意思? 的相关文章

随机推荐

  • 使用 FFT 计算频率时的错误值

    我得到了错误的频率 我不明白为什么我得到了错误的值 因为我已经按照 stackoverflow 后面的指令进行了计算 我用过FFThttp introcs cs princeton edu java 97data FFT java html
  • 将 bool 作为参数传递。 C++

    我想做的是下面的例子 我们首先定义一个布尔值 bool cat false 让我们在这里制作一本假书 bool setcat bool booltoset booltoset true return booltoset 现在让我们用 cat
  • 使用多个节点运行 slurm 脚本,使用 1 个任务启动作业步骤

    我正在尝试使用批处理脚本启动大量作业步骤 不同的步骤可以是完全不同的程序 并且每个步骤都需要一个 CPU 首先我尝试使用 multi prog论证srun 不幸的是 当以这种方式使用分配给我的工作的所有 CPU 时 性能会大幅下降 运行时间
  • 为什么junit中的assertEquals和assertSame对于同一个类的两个实例返回相同的结果?

    根据文件 assertEquals 断言两个对象相等 assertSame 断言两个对象引用同一个对象 所以我期待如果我有像下面这样的课程 class SomeClass then SomeClass someClass1 new Some
  • 如何在 JavaScript 中计算概率密度函数

    Note In 这个问题 https stackoverflow com questions 41224087 d3 js how to add distribution curves to histograms in version 4
  • Angular 和 Elasticsearch 的示例

    我正在寻找 AngularJS 和 Elasticsearch 使用新的官方客户端库协同工作的工作示例 elasticsearch angular js 发现于http www elasticsearch org blog client f
  • 如何区分javafx中表格行的单击或双击

    我正在尝试在 javafx 中创建一个表 允许用户单击一行以转到一页或双击该行以转到另一页 问题在于应用程序注册了单击事件 但没有等待查看是否有另一个双击 有没有办法让程序等待 看看是否有另一次点击 到目前为止我所拥有的看起来类似于 Tab
  • sklearn 和大型数据集

    我有一个 22 GB 的数据集 我想在我的笔记本电脑上处理它 当然我无法将其加载到内存中 我经常使用 sklearn 但数据集要小得多 在这种情况下 经典方法应该是这样的 只读取部分数据 gt 部分训练你的估计器 gt 删除数据 gt 读取
  • boost::asio 读取处理程序类型要求未满足

    我正在尝试将读取标头处理程序实现为成员函数来处理传入数据 然而在编译过程中我被告知不满足类型要求 我检查了 boost 文档 函数签名似乎没问题 我看不出有什么不同 但是 boost 不接受该处理程序有效 cpp 文件 void tcpcl
  • 将 AngularJS 与 MeteorJS 结合使用

    所以我对这两种技术都相当陌生 我的计划是实施他们用 Backbone 制作的 Peepcode Tunes 项目 https github com philipkobernik backbone tunes https github com
  • Tensorflow:AttributeError:“NoneType”对象没有属性“original_name_scope”

    我正在尝试在谷歌云上的 debian 9 5 拉伸系统上运行一些 python 张量流代码 我正在使用该版本的tensorflow GPU版本 最新版本 并安装了适当的CODA和cuDNN软件 这是我的代码 import tensorflo
  • Android LibVLC 选项不起作用

    我正在使用 LibVLC 处理流 RTSP 我可以在可以查看流的地方使用它 但延迟设置为默认的约 2 秒 在 Ubuntu 桌面上 我可以使用以下选项启动 vlc 以大大改善延迟 vlc vvv rtsp 192 168 2 1 1234
  • 无法在React应用程序中运行puppeteer,找不到模块:编译时无法解析“ws”

    我想知道是否可以在我的 React 应用程序中运行 puppeteer 每当我尝试在我的 React 应用程序中运行 puppeteer 时 我都会收到 找不到模块 无法解析 ws 我已经尝试安装 ws 但仍然会出现相同的错误 简单的答案
  • XML 架构 (XSD) 中 xsd:union 的用途是什么?

    我出于某种目的正在解析 XSD 但面临一些 XSD 节点的问题 XSD 中 union 的用途是什么以及为什么使用它 它是否用于对 XML 施加某种限制 我正在附加联合和简单类型节点 请解释一下为什么使用它
  • 条形图中每个条形上的叠加线是什么?

    我正在尝试通过数据可视化来学习自己 当我浏览条形图时 我遇到了以下问题 在图表中 条形字符中的每个条形上都有一条垂直的黑线 那条覆盖的黑线到底意味着什么 感谢您的帮助 这个看起来像垂直的误差线 https en wikipedia org
  • 做 Laravel 教程,得到“未找到基表或视图:1146 表‘sdbd_todo.migrations’不存在”

    工作通过本教程 https www flynsarmy com 2013 12 creating a basic todo application with laravel 4 part 1 我执行以下步骤 您现在应该可以根据需要多次调用
  • 您可以从 p:ajax 侦听器更新 h:outputLabel 吗?

    我尝试使用 p ajax 标签 然后在该侦听器中设置一个名为 periodRendered 的值 然后我尝试通过 p ajax 标签的更新来更新 h outputLabel 标签 它没有更新 ajaxily 我认为这是因为 primefac
  • 按钮 ControlTemplate 和圆角

    我有一个按钮控制模板 我想制作带有圆角的按钮 我该怎么做 我尝试使用 CornerRadius 作为边框中的按钮 但它不起作用 按钮的背景已设置为具有角边框的图像 并且按钮看起来很尴尬 因为我无法设置按钮的角 请尝试以下操作
  • Flexbox的align-self属性没有转换?

    我尝试创建一个吗啡 按钮 它可以在另一个菜单上滑动 这个想法是基于 Codrops变形按钮概念 http tympanus net Development ButtonComponentMorph index5 html 现在已经差不多设置
  • 结构体中变量名前的点是什么意思?

    查看linux内核源代码 我发现了这一点 static struct tty operations serial ops open tiny open close tiny close write tiny write write room