<!DOCTYPE html>
<html class="client-js"><head>
  <meta charset="UTF-8">
  <title>stdalign.h</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="canonical" href="https://zh.wikipedia.org/wiki/Stdalign.h">
  <link href="../-/mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="../-/mw/skins.minerva.base.reset|skins.minerva.content.styles|ext.cite.style|site.styles|mobile.app.pagestyles.android|mediawiki.page.gallery.styles|mediawiki.skinning.content.parsoid.css" rel="stylesheet" type="text/css">
  <link href="../-/style.css" rel="stylesheet" type="text/css"><link href="../-/content.parsoid.css" rel="stylesheet" type="text/css"><link href="../-/inserted_style.css" rel="stylesheet" type="text/css">
  <script data-article-id="Stdalign.h" id="script-js" src="../-/script.js"></script><script src="../-/masonry.min.js"></script><script src="../-/article_list_home.js"></script><script src="../-/images_loaded.min.js"></script><script src="../-/node_module/details-element-polyfill/dist/details-element-polyfill.js"></script>
</head>

<body class="mediawiki mw-hide-empty-elt ns-0 ns-subject stable skin-minerva action-view animations">
  <div id="mw-mf-viewport" class="feature-header-v2">
    <div id="mw-mf-page-center">
      <div id="content" class="mw-body">
        <a id="top"></a>
        <div id="bodyContent" class="content mw-parser-output">
          
          <div id="mw-content-text" style="direction: ltr;"><h1 class="section-heading" tabindex="0" aria-haspopup="true" data-section-id="0">
  <span class="mw-headline" id="title_0">stdalign.h</span>
</h1>
<div id="mf-section-0" class="mf-section-0" aria-pressed="true" aria-expanded="true">
  <p><b><code>stdalign.h</code></b>是C语言标准2011版新增加的<span class="new">C標準函数庫</span><a href="%E5%A4%B4%E6%96%87%E4%BB%B6" title="头文件">头文件</a>，为向后兼容目的定义了4个宏：</p>
<ul><li>alignas  被扩展为_Alignas，_Alignas为C11的关键字。</li>
<li>alignof  被扩展为_Alignof，_Alignof为C11的关键字。</li>
<li>__alignas_is_defined 被扩展为1</li>
<li>__alignof_is_defined 被扩展为1</li></ul>

<p><meta data-mw-variant="{&quot;title&quot;:true,&quot;twoway&quot;:[{&quot;l&quot;:&quot;zh&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-hans&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-hans\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-hans\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-hant&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-hant\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-hant\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-cn&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-cn\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-cn\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-hk&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-hk\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-hk\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-mo&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-mo\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-mo\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-my&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-my\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-my\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-sg&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-sg\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-sg\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-tw&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-tw\&quot;],\&quot;t\&quot;:\&quot;stdalign.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-tw\&quot;]}'></span>&quot;}]}"></p>
<style data-mw-deduplicate="TemplateStyles:r78597503">.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin:0;display:inline}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist dt:after{content:" :"}.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{content:" · ";font-weight:bold}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" | ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" - ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)"\a0 "}.mw-parser-output ul.cslist,.mw-parser-output ul.sslist{margin:0;padding:0;display:inline-block;list-style:none}.mw-parser-output .cslist li,.mw-parser-output .sslist li{margin:0;display:inline-block}.mw-parser-output .cslist li:after{content:"，"}.mw-parser-output .sslist li:after{content:"；"}.mw-parser-output .cslist li:last-child:after,.mw-parser-output .sslist li:last-child:after{content:none}</style><style data-mw-deduplicate="TemplateStyles:r78559700">.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:#f8f9fa;border:1px solid #aaa;padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:100%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:720px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}</style><table class="sidebar nomobile nowraplinks"><tbody><tr><th class="sidebar-title"><a href="C%E6%A8%99%E6%BA%96%E5%87%BD%E5%BC%8F%E5%BA%AB" title="C標準函式庫"></a></th></tr><tr><th class="sidebar-heading">
一般</th></tr><tr><td class="sidebar-content" style="text-align: left">
<ul><li><a href="Stdlib.h#数据类型" title="Stdlib.h">数据类型</a></li>
<li><a href="Ctype.h" title="Ctype.h">字符类型</a></li>
<li><a href="String.h" title="String.h">字符串</a></li>
<li><a href="Math.h" title="Math.h">数学</a></li>
<li><a href="Stdio.h" title="Stdio.h">文件输入/输出</a></li>
<li><a href="Time.h" title="Time.h">日期/时间</a></li>
<li><a href="Locale.h" title="Locale.h">本地化</a></li>
<li><a href="Stdlib.h#函数" title="Stdlib.h">内存分配</a></li>
<li><a href="Stdlib.h#函数" title="Stdlib.h">过程控制</a></li>
<li><a href="Signal.h" title="Signal.h">信号</a></li>
<li><a href="C%E6%9B%BF%E4%BB%A3%E6%A0%87%E8%AE%B0" title="C替代标记">替代标记</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
杂项</th></tr><tr><td class="sidebar-content" style="text-align: left">
<ul><li><code>&lt;<a href="Assert.h" title="Assert.h">assert.h</a>&gt;</code></li>
<li><code>&lt;<a href="Errno.h" title="Errno.h">errno.h</a>&gt;</code></li>
<li><code>&lt;<a href="Setjmp.h" title="Setjmp.h">setjmp.h</a>&gt;</code></li>
<li><code>&lt;<a href="Stdarg.h" title="Stdarg.h">stdarg.h</a>&gt;</code></li></ul></td>
</tr><tr><td class="sidebar-navbar" style="line-height:1.6"><style data-mw-deduplicate="TemplateStyles:r79166977">.mw-parser-output .navbar{display:inline;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}</style></td></tr></tbody></table> 
<p>在C++11中，alignas与alignof是关键字。alignas用于变量定义、数据成员声明、class\struct\union的声明与定义。alignas不可用于基本类型的别名、数组类型等。alignas只能用于更严格（更大对齐值）。alignas的参数可以为数、类型。</p>

<p>alignof的参数为类型。</p>


</div><details data-level="2" open="">
    <summary class="section-heading"><h2 id="例子">例子</h2></summary>
    

<div class="mw-highlight mw-highlight-lang-cpp mw-content-ltr" dir="ltr"><pre><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;stdalign.h&gt;</span>
<span class="kt">char</span><span class="w"> </span><span class="nf">alignas</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="w"> </span><span class="n">buf</span><span class="p">[</span><span class="mi">30</span><span class="p">];</span>
<span class="kt">char</span><span class="w"> </span><span class="nf">alignas</span><span class="p">(</span><span class="mi">32</span><span class="p">)</span><span class="w"> </span><span class="n">foo</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>

<span class="k">typedef</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">a</span><span class="p">;</span><span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="n">b</span><span class="p">;</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">S</span><span class="p">;</span>
<span class="c1">// alignof(S) == 8 为真</span>
</pre></div>


    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="参考文献">参考文献</h2></summary>
    
<ul><li>C语言标准2011版：ISO/IEC 9899:2011第7.15节“Alignment &lt;stdalign.h&gt;”。</li></ul>

<div class="reflist " style=" list-style-type: decimal;">
<ol class="mw-references references"></ol></div>

    
</details><!--htdig_noindex--><div><div style="clear:both; background-image:linear-gradient(180deg, #E8E8E8, white); border-top: dashed 2px #AAAAAA; padding: 0.5em 0.5em 0.5em 0.5em; margin-top: 1em; direction: ltr;">
    This article is issued from <a class="external text" title="Last edited on 2021-03-20" href="https://zh.wikipedia.org/wiki/?title=Stdalign.h&amp;oldid=64842614">Wikipedia</a>. The text is licensed under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons - Attribution - Sharealike</a>. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
        </div>
      </div>
    </div>
  </div>
  <script src="../-/mw/jsConfigVars.js"></script>
  <script src="../-/mw/startup.js"></script>
<script src="../-/mw/jquery,mediawiki.js"></script>
<script src="../-/mw/mediawiki.base.js"></script>
<script src="../-/mw/mediawiki.util.js"></script>
<script src="../-/mw/site.js"></script>
<script src="../-/mw/mediawiki.page.ready.js"></script>
<script src="../-/mw/jquery.cookie.js"></script>
<script src="../-/mw/mediawiki.cookie.js"></script>
<script src="../-/mw/mediawiki.storage.js"></script>
<script src="../-/mw/ext.gadget.VisibilityToggles.js"></script>
<script src="../-/mw/ext.gadget.defaultVisibilityToggles.js"></script>



</body></html>