⑦NDK学习之C语言联合体

时间:2022-09-05 18:34:01
//联合体(共同体)同穿一条裤子
//不同类型的变量共同占用一段内存(相互覆盖),联合变量任何时刻都只有一个成员存在,节省内存
//联合体变量的大小 = 最大的成员所占的字节数(字节对齐)
1
union MyValue
2
{
3
 int x;
4
 int y;
5
 double z;
6
};
7
8
void main() {
9
 union MyValue mv;
10
 mv.x = 20;
11
 mv.y = 100;
12
 mv.z = 23.6;
13
 printf("%d,%d,%lf\n",mv.x,mv.y,mv.z);
14
 getchar();
15
}
//JNI头文件中的联合体
1
typedef union jvalue {
2
 jboolean    z;
3
 jbyte       b;
4
 jchar       c;
5
 jshort      s;
6
 jint        i;
7
 jlong       j;
8
 jfloat      f;
9
 jdouble     d;
10
 jobject     l;
11
}jvalue;