C言語学習ポータル(無料版) 学習コンテンツ 関数リファレンス offsetof

🔧 ユーティリティ ・ stddef.h ・ C89

offsetof の使い方

C言語 標準ライブラリ関数リファレンス(無料公開)

書式

size_t offsetof(type, member-designator);

どんな関数か

構造体の先頭から特定メンバーまでのバイトオフセットを取得するマクロ。汎用データ構造(イントリュージブリスト等)の実装や、パディングの確認・シリアライズ処理に使われる。 構造体をシリアライズしたり、C言語でオブジェクト指向風の継承を模倣したりする実装でよく使われる。

使用例

#include <stddef.h>
#include <stdio.h>
struct Point { int x; int y; };
int main(void) {
    printf("%zu\n", offsetof(struct Point, y));
    return 0;
}

アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ

offsetof と一緒に使う関数

memsetメモリ領域の各バイトを指定した値で埋める。配列やバッファのゼロクリア、構造体の初期化など、あらゆる場面で使われる定番関数…

同じ分類(ユーティリティ)の関数

assert va_arg va_end va_start

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る