向函数传递指针时,我经常会有一秒钟感到困惑。如果我们创建一个整数值变量,如 int这是一个关于指针类型表示法背后的历史的问题,为什么它是星号而不是"与",它背后的逻辑是什么?var a int
(在Go中为0
(来获取其地址(指向它的指针(,我们将使用符号,pA := &a
。要获得指针后面的值,我们使用星号符号:b := *pA
。有道理,没问题。但是,为什么该语言的创建者(不仅仅是Go(选择指针类型的表示法为*int
而不是&int
(即func test(i *int) {}
接受整数的地址作为参数(。*
用于获取值,&
用于获取地址。*int
读起来像一个(的(int的值,&int
(在语言中并不真正存在(读起来像
来自DMR的C语言开发:
<blockquote\对于这种组合类型的每个对象,已经有一种方法可以提到底层对象:对数组进行索引,调用函数,在指针上使用间接运算符。类比推理导致名称的声明语法与名称通常出现的表达式语法相呼应。因此,
int i, *pi, **ppi;
>相关内容
- 以十六进制表示的内存地址是否总是需要以"0x"开头?
- Regex表示以特定单词开头但不包含其他特定单词的句子
- Regex表示不应以某些特定的两位数开头的数字
- re.sub表示以特殊字符开头的字符串
- Regex表示大于或小于0的任何数字,但该数字可以以0开头
- 获取以 '(' 开头或以 ')'结尾的子命题(字符串表示)的最后一个或第一个索引
- 如何不在使用的短int的二进制表示的开头打印零
- REGEX表示非重复字符(接受西班牙语、法语、德语等所有语言),开头和结尾没有空格和逗号
- c-为什么指针类型的表示法以星号开头
- Regex表示不是以类似国家代码的前缀开头的9位数字
- Regex表示正数,带有两个浮点数,不以零开头
- 有多少个基数b使得数字的基数b表示以1开头
- ^不表示python中的行的开头
- 将非ASCII转换为以R中的反斜杠u(\u)开头的字符表示
- 返回数组中数字的总和,但忽略以 6 开头并扩展到下一个 9 的数字部分除外.返回 0 表示无数字
- Python 的切片表示法,当两个单词以相同的字符串开头时,它应该返回 True
- 正则表达式表示可以以 0 开头的数字
- 正则表达式表示值不以字符开头的键值
- C语言 以双下划线开头的类型是否表示模拟类型?
- 正则表达式,用于匹配所有以 @ 或 # 开头的单词,表示 .net
最新更新
- 清理脚本(而不是在提供的路径中搜索)总是命中系统根目录或运行它的根文件夹
- 无法加载要从中扩展的配置"airbnb" - gitlab ci
- 我如何将任何方程输入到Python中的标准形式?
- 在Swift中从实时数据库Firebase中获取数据
- Devstack单一接口不能在ubuntu 20.04上工作
- Typescript没有安装
- 函数式语言类型推断混乱
- 使用Python从大文件解析数字数据时提高速度
- 如何从Multipass共享文件夹到主机?
- 从CMD或批处理文件中禁用"Notify me when the clock changes"设置
- 在Dockerfile中设置——net=host ?
- 如何在React中将arrayBuffer转换为JSON
- 是否有可能将html响应转换为json在扑动?
- 快速过滤numpy数组值的方法
- C保存字符串的数组列表
- 需要minio film配置建议
- 如何应用CSS字体大小"relative to what it would be originally"?
- 该应用程序在个人帐户中未绑定脚本时被阻止错误
- 将原始查询转换为django orm
- 如何从出现次数和值的列表中创建一个新列表
- 使用Julia中的Julia Broadcasting根据数组的索引计算数组值
- 在javascript中使用条件更新嵌套数组
- for循环多个条件
- 将第一列中的名称行转换为r中的列
- Nx张量的映射切片
- Dotnet Core Azure功能(隔离进程)如何加载应用程序.每个环境的Json
- Discordjs不发送消息
- 边框在css中不显示
- Python pandas中的深度嵌套JSON规范化
- 如何在JSON模式中从正确的对象中选择特定的字段
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium