offsetofの定義なんですが。
msdnで調べた結果。
size_t offsetof( structName, memberName );
定義する時は、カッコの中には型などの定義をしたらいいんでしょうか??
使用する時は,ソースの中で
offsetof(xxxxx, iiiiiii); ←これは定義になるんですか?
定義場所などでの定義の仕方恐れ入りますが教えていただけないでしょうか?
>定義する時は、カッコの中には型などの定義をしたらいいんでしょうか??
ここがよく分かりません。
MSDNには、
offsetof は関数ではないので、C のプロトタイプを使って記述できません。
とあります。stddef.hで定義されているマクロです。
使用例:
typedef struct
{
int ii;
char cc;
} tib_t;
offsetof( tib_t, cc );
offsetof( xxxxx , iiiiii);
のxとiにcharなど型を指定しなくてはと思ってました。
typedef struct _code_in_out {
ULONG Number;
union {
ULONG LongData;
USHORT ShortData;
UCHAR CharData;
};
} code_in_out;
この場合は
offsetof(code_inout, LongData);
でよろしいですかね?
それでよろしいです。
...そのくらいなら実際に試してみればわざわざ回答を待つまでもなく解るのでは?
実際の会話では復唱して確認してもらうことも重要ですが、会話ほど即時性の望めない
ネット上ではアドバイスを受けたら自分で試しもせずに復唱するのは嫌われますよ。
試してみたら何故かエラーが出てたので不安になり聞いてみました。
tibさんありがとうございました。
>試してみたら何故かエラーが出てたので不安になり聞いてみました。
そういうときは、「こういうふうにしてみたけど、こんなエラーが出ちまった」という風
に訊けばいいんです。自分がどこまで理解して、どこまで努力してみたのかが読みとれな
い文章は、こういう場では不利です。