私は、ctypesモジュールを使用して、Pythonで動的ライブラリへのアクセスを作成しようとしています。私のPythonの実装でtydefされた構造のいくつかを複製している間、私は何が起こっているのか困ったコードを見つけました。基本的には私が持っているものは、ヘッダファイルに構造体定義のポインタを持つ列挙体
enum foo {
a,
b,
c,
};
typedef struct barStruct bar;
struct barStruct{
enum foo (*lem)();
enum foo (*baz)(bar *next);
}
です。
私は構造体定義の2つの列挙型呼び出しを理解しようとしています。最初のものはlem
というポインタを作成していましたが、これは列挙に含まれる値を指し示さなければならないと思いました。(つまり、最後には閉じかっこを無視していました。 2番目のものに気付いたときに、かっこの中に別のポインタを入れて、何が起こっているのか本当に混乱し、最初のものが何を意味するのか疑問に思った。
この質問には既に回答があります(私はそれが正しいと思いますが)残念ながら、私が必要とするものを効果的に検索する方法について考えることはできません。
ああ、それは理にかなっています。したがって、2番目の関数は、bar型のstructへのポインタを入力するfoo列挙型を返す関数へのポインタですか? – Andrew
@Andrewそれは正しいです。 –