聯合為早期 C 語言為了解決記憶體不足而有的資料型態,其定義與宣告與結構類似,不同之處為聯合的所有成員佔用相同的記憶體空間,因此儲存到聯合的值會以該成員具有儲存範圍最大的資料型態為優先,也就是佔用到最多位元組數的資料型態。
#include <stdio.h>
union data {
int vi;
double vd;
};
int main(void)
{
union data a;
a.vi = 11;
printf("a = (%d, %f)\n", a.vi, a.vd);
a.vd = 22.0;
printf("a = (%d, %f)\n", a.vi, a.vd);
return 0;
}
from:
http://pydoing.blogspot.com/2010/06/c-union.html
全站熱搜