繁体   English   中英

这句话是什么意思?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM