猿问

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

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

浮云间

staticvoid*a=&a;拆开来看:&a是一个指向a的指针,是一个内存地址void*是一个无类型指针,静不静态对解释没有影响,该指针指向a的内存地址综上就是指向指针(&a)的指针(void*)

森林海

两步首先声明staticvoid*aa是一个指针,指向一个地址,本身也有一个地址然后*a=&a把a所指向的地址指向a指针所指向的地址
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答