为了账号安全,请及时绑定邮箱和手机立即绑定

怎么理解 static void * a = &a; ?

怎么理解 static void * a = &a; ?

慕森卡 2019-05-21 10:54:53
怎么理解这行代码?staticvoid*a=&a;在AFN的源码上看到的。staticvoid*AFHTTPRequestSerializerObserverContext=&AFHTTPRequestSerializerObserverContext;AFURLRequestSerialization.h文件里面,在序列化的时候,使用到。这种风格的代码,其他地方也看到过几次。知乎里面有一个同样的问题,答案是这是一个静态无类型指针a然后用指针滴地址赋给a就是一个初始化了。也就是一个指向指针滴指针。我不是很懂,几个回答,我都觉得解释不是很明确。我在这里再问下。
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

staticvoid*a=&a;
拆开来看:
&a是一个指向a的指针,是一个内存地址
void*是一个无类型指针,静不静态对解释没有影响,该指针指向a的内存地址
综上就是指向指针(&a)的指针(void*)
                            
查看完整回答
反对 回复 2019-05-21
?
森林海

TA贡献2011条经验 获得超2个赞

两步首先声明
staticvoid*a
a是一个指针,指向一个地址,本身也有一个地址
然后
*a=&a
把a所指向的地址指向a指针所指向的地址
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 815 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信