C 语言中这个奇怪的函数指针声明是什么意思? [复制]

2024-04-25

谁能解释一下什么int ((*foo(int)))(int)在这呢?

int (*fooptr)(int);
int ((*foo(int)))(int); // Can't understand what this does.

int main()
{
    fooptr = foo(0);
    fooptr(10);
}

.


int ((*foo(int)))(int);

这宣告foo作为一个期望的函数int类型参数并返回一个指向函数的指针,该函数需要int输入参数并返回int.

更清楚地说:

          foo                           -- foo
        foo(   )                        -- is a function
        foo(int)                         --  taking an int argument
       *foo(int)                          --   returning a pointer
     (*foo(int))(  )                       --   to a function that
    (*foo(int))(int)                        --     takes an int argument
   int (*foo(int))(int)                      --     and returning an int   

Here https://stackoverflow.com/a/10759352/2455888对此有一个很好的解释。

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

C 语言中这个奇怪的函数指针声明是什么意思? [复制] 的相关文章

  • 如何在MVVM中管理多个窗口

    我知道有几个与此类似的问题 但我还没有找到明确的答案 我正在尝试深入研究 MVVM 并尽可能保持纯粹 但不确定如何在坚持模式的同时启动 关闭窗口 我最初的想法是向 ViewModel 发送数据绑定命令 触发代码来启动一个新视图 然后通过 X
  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • 如果使用 SingleOrDefault() 并在数字列表中搜索不在列表中的数字,如何返回 null?

    使用查询正数列表时SingleOrDefault 当在列表中找不到数字时 如何返回 null 或像 1 这样的自定义值 而不是类型的默认值 在本例中为 0 你可以使用 var first theIntegers Cast
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • 在 ASP.NET Core 3.1 中使用包含“System.Web.HttpContext”的旧项目

    我们有一些用 Net Framework编写的遗留项目 应该由由ASP NET Core3 1编写的API项目使用 问题是这些遗留项目正在使用 System Web HttpContext 您知道它不再存在于 net core 中 现在我们
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • iframe 中的位置固定 div 不起作用

    我正在开发 facebook iframe 应用程序 我在此应用程序中有一个弹出消息框 那个弹出窗口有固定位置 但它不能像添加到没有滚动的 iframe 中那样工作 如果弹出窗口在没有滚动的 iframe 中 是否可以使其固定在位置 如果弹
  • 在 Rails 中使用回形针进行 ajax 上传的简单方法?

    我想知道是否有一个简单的方法 例如一个插件 用回形针在 Rails 中进行 ajax 上传 还是我必须从头开始构建它 Cheers 编辑 另外 我正在寻找非闪存解决方案 你可以试试remotipart http os alfajango c
  • Rails中有类似批量更新的东西吗?

    在Java中 我们有像下面的java代码这样的批处理执行 Statement statement null statement connection createStatement statement addBatch update peo
  • terraform 创建的 Kubenet AKS 未将路由表链接到应用程序网关子网?

    按照这个kubenet 将路由表关联到 appgw 子网 https github com Azure application gateway kubernetes ingress pull 723 当您为应用程序网关创建 AGIC 时 它
  • C# 中的字符串替换[重复]

    这个问题在这里已经有答案了 可能的重复 字符串替换不起作用 https stackoverflow com questions 1558024 string replace not working 我有一个像这样的字符串 string ur
  • Django admin在同一行显示多个字段

    我创建了一个模型 它将自动显示模型中的所有字段并将其显示在管理页面上 现在 我有一个问题 我希望在同一行上有两个字段 为此我必须在 ModelAdmin 中指定字段集 fieldsets None fields firstname last
  • MongoDb 聚合中的条件展开?

    我试图弄清楚是否有一种方法可以在 MongoDB 的聚合框架中编写条件展开代码 我有一个这样的聚合命令 models Users aggregate SELECT project sex 1 salesIndex 1 WHERE match
  • 错误:当前项目不支持运行配置应用程序。无法获取应用ID

    每次我在 Android Studio 中打开项目时 都会出现此错误 Error Run configuration app is not supported in the current project Cannot obtain the
  • R 中的 GSL 库 - 未找到符号

    作为新用户 我对 C 的了解非常有限 我有一些用 C 编写的代码需要在 R 中使用 我尝试使用 gsl integration 库 由于代码需要传递给可能未安装 GSL 库的不同人员 因此我创建了 integration h 文件 其中包含
  • php如何在curl获取请求标头中使用承载令牌?

    下面是一个有效的 C get 请求 public HttpResponseMessage ExecuteEndPoint string endpoint string accessTocken HttpResponseMessage res
  • 创建线程-传递参数

    我正在尝试创建多个线程 每个线程计算素数 我正在尝试使用线程创建将第二个参数传递给函数 它不断抛出错误 void compute prime void arg void arg2 这是我的 main 和创建线程 max prime 之后的
  • 禁用 c++ 模块时使用“@import”,请考虑使用 -fmodules 和 -fcxx-modules

    当我尝试使用 Cocoapods 将 AdMob 集成到 Objective C 项目中时 我就想到了这个问题 禁用 c 模块时使用 import 请考虑使用 fmodules 和 fcxx modules 这是什么错误以及如何修复它 Fi
  • 想要创建一个过滤器来检查 cookie,然后保存来自控制器的对象和引用

    我想创建一个过滤器 它将在我的任何 spring mvc 控制器操作之前执行 我想检查 cookie 是否存在 然后将对象存储在某处current仅请求 然后 我需要从我的控制器操作中引用该对象 如果存在 关于如何执行此操作的建议 要创建过
  • 在python中使用tesseract 3.02的C API与ctypes和cv2

    我正在尝试在 python 中将 Tesseract 3 02 与 ctypes 和 cv2 一起使用 Tesseract 提供了一组公开的 DLL C 风格 API 其中之一如下 TESS API void TESS CALL TessB
  • 你什么时候使用过 C++ 'mutable' 关键字? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 你什么时候用过C mutable关键词 为什么 我认为我从来没有使用过这个关键字 我知道它用于缓存 或者可能是记忆 等用途 但是您需要在什么
  • 无法远程连接到Python Socket

    我已经使用 python 套接字和 Tkinter 创建了一个聊天应用程序 它在本地运行得很好 但是客户端无法远程连接到服务器 当我输入我的公共 IP 地址作为主机时 我已经完全端口转发了我的网络并且我知道如何很好地进行端口转发 当我运行在
  • 如何在 selectizeInput 加载所有选择之前添加微调器? [闪亮的]

    我想制作一个应用程序 2actionButtons 1 在加载之前提交更改selectizeInput2 绘制绘图 我知道如何添加spinner单击后actionButton但大多数情况是当你想展示情节时添加的 但是 是否可以添加一个spi
  • singleton bean如何处理动态索引

    我正在使用 Spring Data Elastic Search 根据请求中的不同标头 我创建 RequestScope 对象 IndexConfig 来保存不同的索引集 似乎正在发挥作用 但我不明白单例bean DocumentA Doc
  • 依赖注入陷阱

    有人在 www 上有一个链接列表来获取 DI 陷阱的好列表吗 我一直在尝试在 asp net webforms 应用程序中使用 DI 注入控件 发现在递归构建时 ViewState 会丢失 开发人员在应用程序中实施 IoC DI 之前需要注
  • C 语言中这个奇怪的函数指针声明是什么意思? [复制]

    这个问题在这里已经有答案了 谁能解释一下什么int foo int int 在这呢 int fooptr int int foo int int Can t understand what this does int main fooptr