ESContextという名前の構造体の定義を持つヘッダーファイルesUtil.hがあり、そのメンバーの1つがuserDataです。 userDataはvoidへのポインタです。これはポインタですか? (もしそうなら、それはどのように初期化されましたか?)
それを使用してプログラムの本体は簡単に、このです:
#include "esUtil.h"
typedef struct {
GLuint programObject;
} UserData;
int DoSomething(ESContext *esContext) {
UserData *userData = esContext->userData;
...
}
int main(int argc, char *argv[]) {
ESContext esContext;
UserData userData;
esStart(&esContext);
esContext.userData = &userData;
...
if(!DoSomething(&esContext))
return 0;
...
}
私は "のuserDataは*" 文であるものによって混乱している:UserDataの*のuserData = esContext->のuserData。
ポインタであれば、宣言されずにどのようになったのか。説明をありがとう。
それは宣言され、右が初期化されています。どうしたの? –
"userdata"が表示されます* 2回* - またはその場合は3回無視します。 *どちらがあなたを混乱させていますか? –
同じステートメントでポインタを宣言して使用することができるかどうか、それが実際に=の左側に何が起こっていたのかを知りたいだけでした。ありがとう。 –