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

先頭へ戻る

alignas

概要 _Alignas に置換されるマクロ
ヘッダ stdalign.h
形式 #define alignas _Alignas
置換結果 _Alignas
詳細 _Alignas に置換される。やや不自然な名前に対して、自然な名前を提供する目的と思われる。
注意 VisualStudio 2015/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章


参考リンク



更新履歴

'2018/6/2 新規作成。



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

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

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

Programming Place Plus のトップページへ


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