alignas | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


alignas

概要 _Alignas に置換されるマクロ
ヘッダ stdalign.h
形式 #define alignas _Alignas
置換結果 _Alignas
詳細

_Aligna に置換される。やや不自然な名前に対して、自然な名前を提供する目的と思われる。


C23 から、同名の alignas はキーワードとなったため、このマクロは廃止されている。
注意 Visual Studio 2017 には、stdalign.h そのものを含めて存在しない。
使用例
#include <stdalign.h>
#include <stddef.h>
#include <stdio.h>

struct Data_tag {
    short a;
    char b;
    int c;
};

struct Data2_tag {
    short a;
    alignas(8) char b;
    int c;
};

int main(void)
{
    printf("%zu %zu %zu\n",
        offsetof(struct Data_tag, a),
        offsetof(struct Data_tag, b),
        offsetof(struct Data_tag, c)
    );
    printf("%zu %zu %zu\n",
        offsetof(struct Data2_tag, a),
        offsetof(struct Data2_tag, b),
        offsetof(struct Data2_tag, c)
    );
}

実行結果:

0 2 4
0 8 12
関連
解説章

第37章


参考リンク 🔗

本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。


更新履歴 🔗

 VisualStudio 2015 の対応終了。

 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る