c语言 共用体 __attribute__
时间: 2023-11-22 17:48:52 浏览: 84
mdk_armcc_user_guide.pdf
共用体(union)是一种特殊的数据类型,它允许您在相同的内存位置存储不同的数据类型。__attribute__是GCC编译器的一个特性,它允许您指定变量或类型的属性。在C语言中,您可以使用__attribute__来指定共用体的对齐方式。
以下是一个示例,演示如何在共用体中使用__attribute__:
```c
#include <stdio.h>
union Data {
int i;
float f;
char str[20];
} __attribute__((aligned(8)));
int main( ) {
union Data data;
printf( "Memory size occupied by data : %ld\n", sizeof(data));
return 0;
}
```
在这个示例中,我们定义了一个名为Data的共用体,它包含三个成员:整数i,浮点数f和字符数组str。我们使用__attribute__((aligned(8)))指定了共用体的对齐方式为8字节。这意味着共用体的起始地址必须是8的倍数。
阅读全文