在進行某些算法的C語言編程的時候,需要把幾種不同類型的變數存放到同一段記憶體單元中。也就是利用覆蓋技術,使幾個變數互相覆蓋。這種幾個不同的變數共同占用一段記憶體的結構類型,在C語言中,被稱作“共用體”類型結構,簡稱共用體。註:在某些書籍中可能稱之為“聯合體”,但是“共用體”更能反映該類型在記憶體的特點。
基本介紹
- 中文名:共用體
- 過程:在C語言中
- 被稱作:“共用體”類型結構
- 技術:使用覆蓋技術
定義
一般定義形式
簡單示例
union data{ int i; char ch; float f;} a, b, c;
引用方式
union data{ int i; char ch; float f;} a, b, c;
printf("%d", a.i);
printf("%c", a.ch);
數據的特點
#include <stdio.h>#include <string.h>typedef union{ int stu; char tea[10];}DEP;DEP f(DEP d){ printf("函式調用成功\n"); return d;}int main(void){ DEP d, e; strcpy(d.tea, "123"); printf("%s\n", d.tea); e=f(d); printf("%s\n", e.tea); printf("函式返回值成功\n"); return 0;}
使用範例
main(){ union data { int a; char b; } data1; data1.b = 'A'; data1.a++; printf("%c\n", data1.b);}