定义一个指针来引用相同的变量名引用?

2023-12-04

在 Objective-C 中,我真的无法理解这一点:

void *x = &x;

我的理解是:

声明一个泛型指针(因此类型为 void*),指针变量名为 x,该指针指向变量的引用(应该已经声明了 - 但事实并非如此) 名为 x。

让我很困惑!


判断该声明是否成立

void *x = &x;

是有效的,您应该考虑 C 标准中的两个重要引用。

第一个表示标识符的范围从哪里开始(6.2.1 标识符的范围)

7 结构、联合和枚举标记的范围从 在声明类型说明符中的标签出现之后 标签。每个枚举常量的作用域都从该常量之后开始 其定义枚举数在枚举数列表中的外观。任何 其他标识符的作用域在完成后立即开始 它的声明者。

第二个表示是否可以将任何类型的指针分配给指向 void 的指针(6.3.2.3 指针)

1 指向 void 的指针可以与指向任何指针的指针相互转换 对象类型。指向任何对象类型的指针都可以转换为 指向空的指针然后再回来;结果比较等于 原始指针。

所以在这个声明中

void *x = &x;

变量 x 的作用域紧接在赋值运算符之前开始。其完整类型为void *并且可以分配给任何其他类型的指针。右手有类型的表达void **。根据第二个引用,它可以分配给 x,因为 x 是一个指向 void 的指针。

结果 x 将存储其自身的地址。

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

定义一个指针来引用相同的变量名引用? 的相关文章

随机推荐

  • SPARQL 参数化查询

    再会 我将 rdflib 用于 python 我有个问题 如何将变量放入 SPARQL 的查询中 当然不是 OSPF OSPF qres g query SELECT x z y WHERE course OSPF course termN
  • 有没有办法在 SCCM 2012 中重新安装应用程序?

    在 SCCM 2007 中 有几个 右键单击工具 在它们的帮助下可以 重新安装 软件包 在SCCM 2012中我仍然找不到方法 如何重新安装应用程序 让我解释 我从软件创建了一个安装包 然后将其作为 应用程序 分发 安装成功完成 一周后 一
  • 通过 Whatsapp 或 Facebook 分享图像和文本

    我的应用程序中有一个共享按钮 我想同时共享图像和文本 在 GMail 中 它工作正常 但在 WhatsApp 中 仅发送图像 而在 Facebook 中 应用程序崩溃 我用来分享的代码是这样的 Intent shareIntent new
  • 如何在后台运行Python脚本?

    我有一个脚本每 5 分钟检查我的 PC 上的某些内容 但我不希望 Python 显示在我的任务托盘上 我使用 Windows 作为我的操作系统 有没有办法让Python在后台运行并强制它不显示在我的任务托盘中 如果您使用运行控制台脚本pyt
  • xjc:覆盖 xs:simpleType 定义

    我正在使用以下方法将一组 XSD 编译为 Java 类xjc 我希望能够覆盖给定简单类型的数据类型定义 XSD 片段是
  • Android:在 fling 和 onclick 上同步图像也可以显示上一个和下一个视图相同的图像

    我正在使用视图翻转器来翻转大约 20 个图像 并在滑动时翻转 在我的活动底部 我有两个按钮用于手动向左或向右切换图像 这两个按钮正在工作 但我无法显示相同的图像 例如 如果我从图像2滑动到图像3 然后单击 显示下一个 按钮 然后它切换到数组
  • 按组在data.table中创建新列

    我没有使用 data table 的经验 所以我不知道我的问题是否有解决方案 谷歌上的 30 分钟至少没有给出答案 但就这样了 对于 data frame 我经常使用以下命令来检查唯一值的观察数量 df Obs with df ave v1
  • 将样式文本写入 .docx 文件

    我正在尝试编写一个将文本写入 docx 文件的应用程序 我的应用程序使用 JTextPane 因此用户可以编写他 她想要的任何内容 并且它还提供了许多按钮 例如粗体 字体颜色 字体大小 等 我遇到的问题是在写入 docx 文件时保持 JTe
  • 如果一个帐户有多个邮箱,VBA 选择邮箱

    这是我的要求 我在 OUTLOOK 中配置了多个帐户 1 电子邮件受保护 只有一个邮箱 2 电子邮件受保护 有多个邮箱 在 Unix box Windows Box Mac box 在这里 我的第二个电子邮件帐户有自己的邮箱 并链接到多个邮
  • 获取时对集合中的文档进行排序

    我有一个在 MongoDB 上称为资源的集合 它有以下文件 id Abb e class Resource resourceEmail email protected id Dasd tt class Resource resourceEm
  • 我如何在magento会话中保存数组?

    我想在会话变量中保存一个数组 如何使用 magento 会话来做到这一点 并且该数组应该是可更新的 即 我将在用户执行的不同操作时向该数组添加值 有人可以给我一个提示吗 Thanks 最简单的方法是使用客户会话对象的 setData 方法
  • 如何创建仅存在于 ResourceDictionary 上下文中的样式

    如何创建仅存在于 ResourceDictionary 上下文中但不存在于包含该 ResourceDictionary 的控件上下文中的样式 例如 我希望能够拥有一个如下所示的 ResourceDictionary
  • C++中的文件按修改时间排序

    C 中如何按修改时间对文件进行排序 std sort需要一个比较功能 它以向量作为参数 我想根据修改对文件进行排序 是否已经有比较函数或 API 可用于实现此目的 是的 您可以使用std sort并告诉它使用自定义比较对象 如下所示 inc
  • 课程完成按什么顺序排列其结果?

    示例 我创建一个新单元 声明一个具有多种方法 如构造函数 析构函数 method1 method2 method3 的类 然后按 Ctrl Shift C IDE 自动创建所有方法体 但顺序是混合的 并且与接口部分中声明的顺序不同 现在 这
  • 如何获取csc.exe路径?

    有没有办法获取最新 NET Framework 的 csc exe 路径 该文件通常位于 c Windows Microsoft NET Framework vX X XXX 但问题是可以安装多个版本 同时存在 32 位和 64 位版本 有
  • 论坛标签。实施它们的最佳方法是什么?

    我正在构建一个论坛 我想使用论坛风格的标签来让用户以有限的方式格式化他们的帖子 目前我正在使用正则表达式来执行此操作 根据这个问题 如何使用C 正则表达式模拟论坛标签 问题是正则表达式不区分嵌套标签 以下是我如何实现此方法的示例 publi
  • 来自 asp.net ASHX 页面的 FullCalendar 事件未显示

    我一直在尝试使用以下代码调用 ASHX 页面 将一些事件添加到 fullCalendar 中 页面脚本
  • 如何在 Ruby 中处理组合 []+= 以实现自动激活哈希?

    为了实现 Ruby 哈希的自动激活 可以使用以下类 class AutoHash lt Hash def initialize args super update update index args 0 update args 0 upda
  • 如何将 js 模块导入 TypeScript 文件?

    我有一个量角器项目 其中包含这样一个文件 var FriendCard function card var webElement card var menuButton var serialNumber this getAsWebEleme
  • 定义一个指针来引用相同的变量名引用?

    在 Objective C 中 我真的无法理解这一点 void x x 我的理解是 声明一个泛型指针 因此类型为 void 指针变量名为 x 该指针指向变量的引用 应该已经声明了 但事实并非如此 名为 x 让我很困惑 判断该声明是否成立 v