//keycode.h
//
#ifndef _KEYCODE_H_
#define _KEYCODE_H_
union KeyCode
{
short keyNum;
char byteArr[2];
};///keycode_1;
#endif
//unionsam.c
#include <stdio.h>
#include "keycode.h"
int main()
{
union KeyCode keycode_1; //注意此处要在前面写上union(struct)否则编译通不过。
keycode_1.keyNum=12;
keycode_1.byteArr[0]='0';
keycode_1.byteArr[1]='3';
keycode_1.byteArr[2]='2';
return 0;
}
或用指针访问联合成员
//unionsam.c
#include <stdio.h>
#include "keycode.h"
int main()
{
union KeyCode keycode_1;
union KeyCode *pkeycode_1=&keycode_1;
pkeycode_1->keyNum=12;
pkeycode_1->byteArr[0]='0';
keycode_1.byteArr[1]='3';
keycode_1.byteArr[2]='2';
return 0;
}
Makefile文件
final: unionsam.c keycode.h
gcc -g unionsam.c keycode.h -o final