使用匿名結構和聯合編譯C 程式碼
要使用匿名結構和聯合編譯C 程式碼,請考慮使用啟用GNU C 的未命名字段擴展通過-fms-extensions 編譯器標誌。
實作:
<code class="c">typedef struct { union { struct { float x, y, z; }; float xyz[3]; }; } Vector3;</code>
編譯:
<code class="sh">gcc -fms-extensions my_code.c</code>
用法:
<code class="c">Vector3 v; assert(&v.xyz[0] == &v.x); assert(&v.xyz[1] == &v.y); assert(&v.xyz[2] == &v.z);</code>
用法:
說明:-fms-extensions 標誌允許在結構和聯合中使用未命名字段,從而允許匿名結構按照原始問題中的概述使用。透過使用此標誌,編譯器將識別聯合中的匿名結構,並將該結構的元素與陣列 xyz 的元素正確關聯。以上是如何使用匿名結構和聯合編譯 C 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!