首页 > 试题广场 >

通过指针变量 p 访问其成员变量 name,下面语法正确的是

[不定项选择题]
通过指针变量 p 访问其成员变量 name,下面语法正确的是()
  • p.name
  • (*p).name
  • (&p).name
  • p->name
GO语言中访问成员变量的方式只有 . 号(因为->是用于通道的操作符,所以go语言中指针不支持->操作符),并且GO语言足够智能,能够自动解引用,但智能也是有限的,只能解一次引用,指针的指针还得自己动手解引用。
发表于 2018-04-14 14:58:06 回复(0)
Go语言中的取址符是&,放到变量前使用,就会返回相应变量的内存地址。
一个指针变量,其作用就是只想一个值的内存地址。
Go语言中,定义指针,形如
var ip *int;
如何使用指针?
go语言中,通过在指针类型前加上*号,来获取指针的内容。
如何使用结构体指针?
指向结构体的指针,称为结构体指针。
结构体指针,使用 "." 操作符来访问结构体成员,所以B对。
可以使用结构体变量名称的方式来访问,即*p,获取结构体的内容,所以A对。
发表于 2018-11-04 15:06:05 回复(0)
A对,指针本身就是引用类型,可以通过“.”的方式调用其成员属性或方法。 然后看B和C,“*”是根据指针地址去找地址指向的内存中存储的具体值,“&”是根据内存中存储的具体值去反查对应的内存地址。题目中已经说明了p是指针,也就是内存地址,要使用变量(这里是调用成员属性),当然是要先根据内存地址获取存储的具体内容,选*p。 D项,Go不支持这种调用写法。
发表于 2019-05-23 10:33:29 回复(0)
神经病啊,谁实际开发中会写成B这样?
发表于 2023-04-24 23:59:02 回复(0)
go语言中指针语法糖
发表于 2022-04-14 15:48:17 回复(0)
取值符 * 取址符 &
发表于 2021-03-04 10:30:11 回复(0)
当使用p得值的时候会自动转为使用指针的形式访问
发表于 2018-02-07 01:01:09 回复(0)