offsetofの定義 – プログラミング – Home

通知
すべてクリア

[解決済] offsetofの定義


あづ
 あづ
(@あづ)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

offsetofの定義なんですが。
msdnで調べた結果。
size_t offsetof( structName, memberName );

定義する時は、カッコの中には型などの定義をしたらいいんでしょうか??

使用する時は,ソースの中で
offsetof(xxxxx, iiiiiii); ←これは定義になるんですか?
定義場所などでの定義の仕方恐れ入りますが教えていただけないでしょうか?


引用未解決
トピックタグ
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

>定義する時は、カッコの中には型などの定義をしたらいいんでしょうか??
ここがよく分かりません。

MSDNには、
  offsetof は関数ではないので、C のプロトタイプを使って記述できません。
とあります。stddef.hで定義されているマクロです。

使用例:
typedef struct
{
  int ii;
  char cc;
} tib_t;

offsetof( tib_t, cc );


返信引用
あづ
 あづ
(@あづ)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

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
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

それでよろしいです。

...そのくらいなら実際に試してみればわざわざ回答を待つまでもなく解るのでは?
実際の会話では復唱して確認してもらうことも重要ですが、会話ほど即時性の望めない
ネット上ではアドバイスを受けたら自分で試しもせずに復唱するのは嫌われますよ。


返信引用
あづ
 あづ
(@あづ)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

試してみたら何故かエラーが出てたので不安になり聞いてみました。
tibさんありがとうございました。


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

>試してみたら何故かエラーが出てたので不安になり聞いてみました。
そういうときは、「こういうふうにしてみたけど、こんなエラーが出ちまった」という風
に訊けばいいんです。自分がどこまで理解して、どこまで努力してみたのかが読みとれな
い文章は、こういう場では不利です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました