C语言中的空函数指针是什么意思?

2023-12-07

假设我们有一个函数指针:

void (*func0)(void);

其还定义为:

void func0(void) { printf( "0\n" ); }

但是,假设在某些时候我们尝试以某种方式访问​​函数指针,那么当我进入代码时,如果 MS VS 调试器显示 func0 实际上指向 0x0000,这意味着什么?另外,请让我知道最好的解决办法是什么?谢谢。


取消引用空指针是未定义的行为。修复方法只是确保指针引用适当的函数。

在你的情况下,你想要这样的东西:

void MyFunction(void)
{
    printf( "0\n" ); 
}

然后你可以分配给func0:

func0 = &MyFunction;

请注意,我对函数指针变量和实际函数使用了不同的名称。

现在您可以通过函数指针调用该函数:

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

C语言中的空函数指针是什么意思? 的相关文章

随机推荐

  • 尽管 C++ 迭代器不是指针,但为什么它可以被取消引用?

    我正在阅读 C Primer 5th 遇到如下代码 string s some string if s begin s end auto it s begin it toupper it it从迭代器接收一个值到字符串中的第一个字符s 然后
  • 如何根据对象名称重新绑定矩阵?

    我有几个想要的矩阵rbind在一个总结中 它们是不同功能的对象产品 并且它们的名称具有相同的模式 我想做的是告诉 R 查找具有该共同模式的所有对象 然后rbind them 假设这些矩阵存在 commonname N1 lt matrix
  • 如何在 WebStorm 中调试角度量角器测试

    有一种方法可以在 WebStorm 中运行和调试量角器 Web 测试 我只是想分享this在这里回答 获取节点路径 类型which node在你的终端中 在 WebStorm 中 单击 编辑配置 左侧的下拉菜单Run 按钮 绿色箭头就像 播
  • 什么是 IO 流缓冲?

    我无法找到 IO 流缓冲的基本概念及其含义 任何教程和链接都会有所帮助 缓冲是处理输入和输出的软件的基本部分 由于硬件和软件以不同的速度运行 因此缓冲区保存软件接口和硬件接口之间的数据 产生数据的组件可以将其放入缓冲区 然后通过将收集到的数
  • 是否可以使用javascript从目录中读取文件?

    我想读取一个目录并用这些文件的名称填充列表 是否可以使用 javascript 来完成此任务 不 出于安全原因 您也许可以通过调用 ActiveX 或 Flash 并让用户同意允许从这些插件访问文件系统来实现此目的 但请不要这样做 编辑10
  • 如何显示固定的 Vuetify v-date-picker 范围?

    我正在尝试显示 Vuetify 日期range具有特定行为的选择器 用户只能选择日历上的开始日期 该范围有固定的持续时间 所以如果这个持续时间设置为4天 当你点击11月4日时 它会显示从4日到8日的范围 是否可以覆盖 v date pick
  • 如何在pandas中仅在一个级别创建组

    我在 excel 文件中导入下面的 df3 数据框 并希望仅按名称分组 其余重复数据应如下所示 注意 每月数据将按月添加 Df3 pd read Excel Data print df3 Name ID Month Shift Jon 1
  • 为什么 iPad 上的 AES 加密和 PHP 解密会失败?

    我有一个 iPad 应用程序 可以将加密信息传输到基于 PHP 的网站 但我在正确解密此信息时遇到困难 我使用以下代码进行PHP端解密 Decryption function function mc decrypt decrypt key
  • 将 None 转换为空字符串的最惯用方法? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 执行以下操作最惯用的方法是什么 def xstr s if s is None return else return s s xstr a xstr b update 我采纳了 Trypt
  • 在 PHP 中用如此命名的变量替换括号内的文本

    我想替换方括号中的所有字符串 以及从名为该字符串的数组中随机选择的项目 它非常类似于这个问题 但有一点不同 因为我想用名为该数组的字符串替换不同括号的内容 一个例子应该会让这一点更清楚一些 所以说我已经拿到了字符串 This is a ve
  • 获取同一html中隐藏字段的值? [复制]

    这个问题在这里已经有答案了 我想得到的值hidden我的 html 中的字段
  • 如何从注入同一程序的另一个 .dll 调用函数?

    我的问题确实在上面 但是我将在下面提供更多信息 我有一个程序 它首先获取我的 假 d3d9 dll 然后将该DLL加载到我正在进行逆向工程的游戏中 一段时间后 dll 被加载 以及所有其他游戏依赖项 我想注入我的 DLL 它将完成逆向工程的
  • 代表的目的[重复]

    这个问题在这里已经有答案了 复制 事件和委托的区别及其各自的应用 代表的优势是什么 我在哪里使用代表 我想知道代表们的目的是什么 我没怎么用过它们 也想不出什么东西 在我的课程中 写到委托是所有符合其签名的方法的蓝图 此外 您可以向一个委托
  • 以不同的名称循环保存图像

    我在循环保存裁剪后的图像时遇到问题 我的代码 def run self image file print image file cap cv2 VideoCapture image file while cap isOpened ret f
  • 模板化成员函数 typedef 无法编译

    include
  • Sagepay Forms 加密方法 经典 ASP

    我有一个使用 Classic ASP 开发的定制购物车 我需要将其与 SagePay Forms 集成 我正在努力寻找任何记录的 ASP 代码示例 说明如何加密发送到 Sagepay 的订单数据 做过这件事的人能给我指出正确的方向吗 有一些
  • MongoDB中如何对2个字段的总和进行排序

    我有这个文件 id 59b804e1ee8a4071a5ea3fcc description description imagepath https example com type label downvotes 25 upvotes 1
  • 为 git-diff 输出中的空白着色

    关于代码格式 我是纯粹主义者 我经常删除不必要的空格 仅包含 ws 的行 行尾的 ws 等 我什至将 vim 设置为显示那种红色的线条 我的问题是 使用 git diff 我经常看到这样的东西 else else 即使我有 git diff
  • 我可以将 mono64 与 Visual Studio for Mac 结合使用吗?

    我是 Mono 开发 但不是 NET 开发 的新手 下载了 Visual Studio for Mac 并尝试从 Alea GPU 运行示例解决方案 它抱怨它需要 mono64 但我没有看到像在 Windows 中那样选择 64 位架构的选
  • C语言中的空函数指针是什么意思?

    假设我们有一个函数指针 void func0 void 其还定义为 void func0 void printf 0 n 但是 假设在某些时候我们尝试以某种方式访问 函数指针 那么当我进入代码时 如果 MS VS 调试器显示 func0 实