[英]What does this statement mean?
一个强制性措施,头文件中包含以下内容:
typedef struct{
void* userData;
} ESContext;
并且在源文件中具有以下结构:
typedef struct
{
GLuint programObject;
} UserData;
所以去。 在相同的源文件中,有一个函数如下所示:
void Draw ( ESContext *esContext )
{
UserData *userData = esContext->userData;
...
}
如果要朗读最后一个片段,该如何发声? 到底在做什么 谢谢你的帮助。
它将指针esContext-> userData分配给指针userData。 C语言允许在void指针和任何其他类型的指针之间进行隐式转换。
您可能需要阅读C FAQ中有关指针的部分 。
您应该阅读“ 顺时针螺旋法则” 。 它不仅会帮助您了解如何将该语句放入读得很好的单词中,而且还会帮助您理解所有其他C语句。
userData
是指向UserData
的指针,该指针已分配给esContext
指向的结构的userData
字段的值。
UserData *userData = esContext->userData;
等效于:
UserData *userData = (*esContext).userData;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.