复杂的声明

2024-01-09

如何解释复杂的声明,例如:

int * (* (*fp1) (int) ) [10]; ---> declaration 1
int *( *( *[5])())(); --------> declaration 2

理解上述声明有什么规则需要遵循吗?


这是一篇关于如何阅读 C 中的复杂声明的精彩文章:http://www.codeproject.com/KB/cpp/complex_declarations.aspx http://www.codeproject.com/KB/cpp/complex_declarations.aspx

这对我帮助很大!

特别是 - 您应该阅读“正确的规则”部分。这里引用:

int * (* (*fp1) (int) ) [10]; 这可以解释如下:

  1. 从变量名开始 -------------------------------------- fp1
  2. 右边什么都没有,但 ) 所以向左查找 * -------------- 是一个指针
  3. 跳出括号并遇到 (int) --------- 到 a 以 int 作为参数的函数
  4. 向左走,找到*----------------------------------------并返回一个指针
  5. 跳出括号,向右点击 [10] -------- 到一个数组 10
  6. 向左查找 * ------------------------------------------ 指向的指针
  7. 再向左走,找到int -------------------------------- ints。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

复杂的声明 的相关文章

  • 将集合绑定到自定义控件属性

    我没有运气尝试将数据集合绑定到我的自定义控件的属性 我已经实现了该控件的字符串属性的机制 在此处提供了一些帮助 并期望集合类型同样简单 但是我无法让它再次工作 这是我的自定义控件视图
  • 在 C# 中按元素相乘数组具有意想不到的性能

    我想找到按元素相乘两个数组的最佳方法 这是更广泛项目的一部分 其中性能而不是唯一的考虑因素 我今天开始用 C Linqpad 编写一些函数 因此它还没有以任何方式进行优化 下面代码的输出如下 Environment ProcessorCou
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • 我如何在 C# .NET(win7 手机)中使用“DataContractJsonSerializer”读入“嵌套”Json 文件?

    我有一个问题 如果我的 json 文件看起来像这样 Numbers 45387 Words 空间桶 我可以很好地阅读它 但是如果它看起来像这样 Main Numbers 45387 Words 空间桶 某事 数字 12345 单词 克兰斯基
  • 读取 C# 中的默认应用程序设置

    我的自定义网格控件有许多应用程序设置 在用户范围内 其中大部分是颜色设置 我有一个表单 用户可以在其中自定义这些颜色 并且我想添加一个用于恢复默认颜色设置的按钮 如何读取默认设置 例如 我有一个名为的用户设置CellBackgroundCo
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • ASP.Net Core 内容配置附件/内联

    我正在从 WebAPI 控制器返回一个文件 Content Disposition 标头值自动设置为 附件 例如 处置 附件 文件名 30956 pdf 文件名 UTF 8 30956 pdf 当它设置为附件时 浏览器将要求保存文件而不是打
  • 时间:2019-03-17 标签:c#ThreadSafeDeepCopy

    我一直在阅读很多其他问题以及大量谷歌搜索 但我一直无法找到明确的解决方案 根据我读过的一些最佳实践 类的静态方法应该创建线程安全的 并且实例成员应该将线程安全留给消费者 我想为该类实现深度复制方法 该类本身还有其他引用类型成员 有没有什么方
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • 从 WebBrowser 控件 C# 获取滚动值

    我试图在 WebBrowser 控件中获取网页的 Y 滚动索引 但无法访问内置滚动条的值 有任何想法吗 对于标准模式下的 IE 使用文档类型 正如你所说 scrollTop是的财产元素 而不是 HtmlDocument htmlDoc th
  • 为什么 set_symmetry_difference 无法与比较器一起使用?

    Example program include
  • Visual Studio Code:如何配置 includePath 以获得更好的 IntelliSense 结果

    我是使用 Visual Studio Code 的完全初学者 我不知道我在做什么 我已经四处搜索 也许还不够 但我找不到像我这样的人如何配置的简单解释c cpp properties json每当我单击带有绿色波浪线下划线的行旁边的黄色灯泡
  • C++ php 和静态库

    我创建了一个library a 其中包含 cpp 和 h 文件 其中包含很多类 嵌套类和方法 我想在 php 示例中包含这个静态库并尝试使用它 我想提一下 我是 php 新手 我已经在 test cpp 文件中测试了我的 libray a
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 新任务中使用的依赖注入服务

    我在需要时使用依赖项注入来访问我的服务 但我现在想要创建一个并发任务 但这会由于依赖项注入对象及其生命周期而导致问题 我读过这篇文章 标题 防止多线程 Link http mehdi me ambient dbcontext in ef6
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • ASP.NET Core MVC 视图组件搜索路径

    在此处的文档中 https learn microsoft com en us aspnet core mvc views view components view aspnetcore 2 2 https learn microsoft
  • xsi:type 属性搞乱了 C# XML 反序列化

    我使用 XSD exe 根据 XML 架构 xsd 文件 自动生成 C 对象 我正在反序列化 OpenCover 输出 但其中一个部分类未正确生成 这是导致异常的行
  • 从 JavaScript 中的 OnClientClick 事件中阻止 C# 中的 asp:Button OnClick 事件?

    我有一个asp Button在我的网页上 它调用 JavaScript 函数和代码隐藏方法 后者进行调用以导航到另一个页面 在 JavaScript 函数中 我正在检查条件 如果不满足这个条件 我想中止导航 以便OnClick方法未被调用

随机推荐

  • 使用 AppFabric 缓存在 MVC SessionState 中使用 WCF DataContract

    我有一个数据访问层 一个服务层和一个表示层 表示层是 ASP NET MVC2 RTM Web 服务层是 WCF 服务 都是 NET 3 5 SP1 问题是在服务中 返回的对象被标记为 DataContract 属性 Web 使用 AppF
  • 如何使用OpenGL和QT?

    我正在开发一个小项目 我需要使用 OpenGL QT 我在这两个方面都是新手 所以我需要一个很好的教程来说明如何彼此合作而不是单独合作 在 QT Creator 上运行 OpenGL 还是使用 QT Visual Studio Plug i
  • ScrollView 重叠工具栏

    我尝试使用 ScrollView 和 Toolbar 作为 LinearLayout 的唯一子级 但它们彼此重叠 搜索了一下 但没有找到任何有用的东西 知道如 何解决这个问题而不是给 ScrollView 提供填充 边距吗
  • 如何阻止读取 C++ stringstream 以等待数据

    因此 我一直试图弄清楚如何等待来自 C stringstream 的数据 例如 而不需要不断检查数据是否存在 这非常消耗 CPU 例如 我完全能够从串行设备读取数据 并在没有数据到达时锁定进程 但不幸的是我无法弄清楚如何使用 C 流来做到这
  • 两个数组到哈希组合中奇怪的乘法运算符行为

    我正在寻找一种将两个数组转换为单个散列的方法 我发现了这样的东西 a1 1 2 3 a2 A B C Hash a1 zip a2 flatten 我觉得这个语法有点奇怪 因为Hash a1 zip a2 会做完全相同的事情 但更重要的是
  • Nodejs PM2集群模式实现负载均衡

    使用 pm2 集群时 会出现一个非常严重的警告 提示您不应在生产中使用它 也不应用于负载平衡 请改用 nginx 不幸的是 这正是我计划使用 PM2 的方式 它真的不打算用于此目的还是只是还没有完全准备好 Nodejs集群 0 10 有很多
  • Emacs shell 模式 SSH 会话中的 Tab 补全

    我当前的 emacs 使用模式导致我打开了多个 shell 模式缓冲区 每个缓冲区都运行一个 ssh 会话 不过 我遇到了一个问题 当我尝试在远程会话中使用制表符补全文件名和其他内容时 shell 尝试使用本地计算机上可用的补全 而不是远程
  • R:将日期从字符转换为日期时间[重复]

    这个问题在这里已经有答案了 I have df date作为下面的字符类型 date 1 2016 04 10T12 21 25 4278624 2 2016 04 12T10 01 42 9573987 3 2016 04 12T10 0
  • 有没有办法在运行时停止/重新启动 ejb 3.1 自动计时器?

    我正在尝试使用一个简单的自动 EJB 计划 计时器 我的代码是这样的 Singleton Lock LockType READ public class Scheduler Schedule second 0 minute 20 hour
  • 如何使用javascript更改标签的值?

    这是我的html代码 a href myfile html Old File gt 我想更改名称为 新文件 的标签的值 所以我写了像 document getElementById tagId value New File 这样的javas
  • wav <> mp3 for flash(as3)

    我想知道 MP3 解码 编码 我希望使用 AS3 在 Flash 中实现这一点 我确信这将是一个正确的痛苦 我不知道从哪里开始 有人可以提供任何指示吗 参考资料 很久以后 非常感谢大家的意见 看来我还有很长的路要走 理论上 您也可以将其作为
  • 使用 OpenGL 和 QT 进行纹理映射 - C++

    我在使用 OpenGL 和 Qt 将纹理映射到四边形时遇到问题 我查看了其他几个 SO 线程 但是许多函数调用的使用方式必须略有不同才能进行编译 Qt Verison 4 8 6 这是我的相关代码 现在所发生的只是一个窗口显示为黑色背景 但
  • 如何保存openFileDialog中的最后一个文件夹?

    如何使我的应用程序存储最后打开的路径openFileDialog新开后恢复吗 OpenFileDialog openFileDialog1 new OpenFileDialog openFileDialog1 Filter txt file
  • 如何在 Ubuntu Desktop 12.04 上设置 ANT_HOME?

    看起来Ubuntu使用的是 bashrc bash profile pam profile etc environment and etc profile以非常相似的方式 我希望能够向其中之一添加配置 无论哪一个是合适的 来设置ANT HO
  • 如何从内容页访问 TextArea 值

    我的内容页面中有一个 TextArea 控件 位于 UpdatePanel 内
  • 如何让 Xcode 将自定义文件扩展名识别为 Objective-C 以进行语法突出显示?

    我想让 Xcode 4 将自定义文件扩展名 例如 lx 识别为 Objective C 以实现语法突出显示和缩进目的 如何让工具自动执行此操作 Xcode 根据文件的属性确定如何在其用户界面中表示文件统一类型标识符 https develo
  • Angular Material 日期选择器 |延迟加载 + CustomDateAdapter + 国际化 - RangeError:超出最大调用堆栈大小

    结构问题 我不太确定是否找到了这两行代码的正确位置 providers provide MAT DATE LOCALE useValue de DE provide DateAdapter useClass CustomDateAdapte
  • 使用 blazor 加载外部 .NET Standard 2.0 程序集

    在 Blazor 应用程序中 我想加载外部程序集并执行方法 为此 我使用 Blazor 模板创建了一个新的 ASP Net Core Web 应用程序 然后 在 Razor 页面 将由浏览器 wasm 编译和执行 中 我使用反射来加载程序集
  • Chrome 扩展:等待元素加载(异步 js)

    我有一个 Chrome 扩展程序 我想等到元素加载后再将内容注入页面 我正在尝试注入一个按钮 myButton document createElement button myButton class mybutton document q
  • 复杂的声明

    如何解释复杂的声明 例如 int fp1 int 10 gt declaration 1 int 5 gt declaration 2 理解上述声明有什么规则需要遵循吗 这是一篇关于如何阅读 C 中的复杂声明的精彩文章 http www c