为什么使用解引用运算符来声明指针?

2023-12-02

为什么是*用于声明指针?

它删除了间接寻址,但当您声明像这样的指针时不会删除任何间接寻址int *a = &b,不应该删除间接&b?


C 和 C++ 中的许多符号都是重载的。也就是说,它们的含义取决于使用它们的上下文。例如,符号&可以表示取址运算符和二进制按位与运算符。

符号*在声明中使用表示指针:

int b = 10;
int *a = &b,

但用在表达式中,当应用于指针类型的变量时,表示解引用运算符,例如:

printf( "%d\n", *a );

它还可以表示乘法运算符,例如您可以编写:

printf( "%d\n", b ** a );

那是一样的

printf( "%d\n", b * *a );

类似地,一对方括号可以用在数组的声明中,例如:

int a[10];

作为下标运算符:

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

为什么使用解引用运算符来声明指针? 的相关文章

随机推荐

  • UITableView 单元格中的 UITextField 返回 null

    我已经在这件事上用头撞墙已经有一段时间了 非常感谢任何意见或指示 因此 目标是从表中的文本字段创建登录表单 该用户信息一旦收集 将被传递到单独视图控制器中的数组 以便可以存储在 收藏夹 列表中 因此 我创建了看起来很棒的表单 但是当我控制台
  • 如何配置 Zend_Form 使用数组表示法?

    我在配置 Zend Form 时遇到困难 我有一个 Zend Form 子类 该表格包含一些必需信息和一些附加信息 我希望可以通过数组访问附加信息 提交的数据将如下所示 formData required1 formData require
  • 在 C# 中创建接口实例

    我正在 C 中使用 MS Excel 互操作 但我不明白这行特定的代码是如何工作的 var excel new Microsoft Office Interop Excel Application 其中 Microsoft Office I
  • 模板类的复制构造函数

    我读到模板 copy con 永远不是默认的复制构造函数 并且模板赋值操作永远不是复制赋值运算符 我不明白为什么需要这个限制 并立即上网 ideone 并返回一个测试程序但在这里 复制构造函数永远不会在进一步谷歌搜索时被调用 我遇到了模板化
  • 如何使用 System.Text.Json 处理同一属性的单个项目和数组?

    我正在尝试反序列化一些 JSON 其中包含的值有时是数组 有时是单个项目 我怎样才能做到这一点System Text Json and JsonSerializer 这个问题的灵感来自这个问题对于 Json NET 通过罗伯特 麦克劳斯 我
  • 仅当满足条件时启动discord.py命令冷却

    我希望仅当满足函数中的条件时才开始其中一个命令的冷却 如下所示 bot command async def move ctx destination destinations d1 d2 d3 List of valid arguments
  • ViewBag、ViewData 和 TempData

    任何人都可以解释一下何时使用 TempData ViewBag ViewData 我有一个要求 我需要在控制器一中设置一个值 该控制器将重定向到控制器二 控制器二将渲染视图 我尝试使用 ViewBag 当我到达控制器二时 该值丢失了 我能知
  • Apache HTTP 服务器上的 SSL [关闭]

    Closed 这个问题是与编程或软件开发无关 目前不接受答案 我有 2 个用于 Apache 服务器的 crt 文件 1 root bundle crt 2 我的域名 com crt 和其他捆绑包 1 中级 crt 2 我的域名 com c
  • 尝试在 symfony 4 中安装 sonata admin 时出错

    我尝试在 symfony 4 项目中安装 sonata admin 用户包 composer create project symfony website skeleton my project composer require sonat
  • CloudBlob.OpenRead() 未读取所有数据

    使用 Windows Azure 存储客户端库 CloudBlob OpenRead 方法仅读取 4 mb 的数据 如何使用 OpenRead 方法读取完整流 CloudBlob blob container GetBlobReferenc
  • SetTimeOut 计时器内的 JQuery GetJSON

    任何人都可以发布示例代码 其中有一个正在运行的计时器 javascript settimeout 并进行数据检索 基本上我这个计时器的作用是显示新消息 myFunction param data retrieval operation us
  • 自动滚动到底部

    我正在开发带有聊天屏幕的应用程序 但与普通屏幕一样 它开始从上到下滚动 但应该是从下到上 该应用程序位于 Telerik Nativescript 平台中 View xml
  • 如何为 Autodesk Forge App 指定多个回调 URL?

    您可以注册多个回调 URL 回调 URL 工具提示中有说明 但没有关于如何输入多个 URL 的示例 正确的分隔符是什么 我试过 n 这是工具提示上的拼写错误 我们将修复它 今天您可以使用 2022 年 9 月更新 此功能现已推出
  • x86 中如何使用进位和溢出标志来计算乘法

    当两个数字相乘溢出寄存器时 如何使用两个标志来正确计算答案 E g if al holds 0xff并乘以0x2 导致溢出到ax 这些标志对此有何帮助 Multiplication on x86 x64 never overflows wh
  • C# 控制台应用程序 - 如何使用 GDI+ 在 BMP/JPG 文件中绘图?

    我想使用 C 控制台应用程序和 GDI 在 BMP 或 JPG 文件中绘制矩形 箭头 文本 线条等形状 这是我在网上找到的 c 将 System Drawing Graphics 保存到文件c 将 System Drawing Graphi
  • 值文件上传 - 适用于 Chrome,但不适用于 IE,Image img = Image.FromStream(Request.InputStream)

    我正在使用 Valum 上传的稍微修改的版本 github链接 我已将其修改为上传到数据库 但未修改它用于将文件作为输入流放入请求中的 javascript 以下代码行在 IE 8 中失败 但已确认在 Chrome 中可以工作 using
  • Kotlin Multiplatform Mobile 找不到 klib 包

    我读过这些帖子1 2 3面临类似的问题 我正在尝试使用 klib在我的 KMM Android 项目中 Klib 是由library hC 标头 这就是我所做的 我构建了 Kotlin 库 在 KMM 中使用以下 Gradle 块share
  • 仅当存在另一个字段时才进行 yii 验证

    我的表单中有两个名为start date and end date 我想验证end date除非start date存在 在 Rails 中 我们有 if 我们有类似的东西吗yii 定义您的自定义验证函数 定义规则 array end da
  • SQL唯一记录不是列?

    有没有办法插入到 SQL 数据库中 整个记录是唯一的 我知道您可以创建主键和唯一列 但这不是我想要的 在不使数据库过载的情况下执行此操作的最佳方法是什么 我见过一种使用 WHERE NOT EXISTS 的子查询 我只想知道插入记录的最有效
  • 为什么使用解引用运算符来声明指针?

    为什么是 用于声明指针 它删除了间接寻址 但当您声明像这样的指针时不会删除任何间接寻址int a b 不应该删除间接 b C 和 C 中的许多符号都是重载的 也就是说 它们的含义取决于使用它们的上下文 例如 符号 可以表示取址运算符和二进制