先頭へ戻る

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

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

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

先頭へ戻る

alignas

概要

_Alignas に置換されるマクロ

ヘッダ

stdalign.h

形式

#define alignas _Alignas

置換結果

_Alignas

詳細

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

注意

VisualStudio 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)
    );

    return 0;
}

実行結果:

0 2 4
0 8 12

関連

解説章

第37章


参考リンク


------------------------------------------------------------------------

更新履歴

'2019/2/12 VisualStudio 2015 の対応終了。

'2018/6/2 新規作成。


------------------------------------------------------------------------

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

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

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

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー