###聯合體(共用體)
不同型別的變數共同佔用一段記憶體(相互覆蓋),聯合變數任何時刻只有一個成員存在,節省記憶體
聯合體變數的大小=最大的成員所佔的位元組數(位元組對齊 )
比喻:同穿一條褲子
union MyValue{
int x;
int y;
double z;
};
void main(){
union MyValue v;
v.x = 90;
v.y = 100; //最後一次賦值有效
v.z = 23.8;
printf("%d,%d,%lf\n", v.x, v.y, v.z);
system("pause");
}
複製程式碼
JNI標頭檔案中的聯合體:
typedef union jvalue {
jboolean z;
jbyte b;
jchar c;
jshort s;
jint i;
jlong j;
jfloat f;
jdouble d;
jobject l;
} jvalue;
複製程式碼
###列舉(enumeration)
列舉(列舉所有的情況),限定值的取值範圍,保證取值的安全性。
enum Day{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
void main(){
enum Day d = Tuesday;
printf("%#x,%d\n", &d, d);
system("pause");
}
複製程式碼
如果覺得我的文字對你有所幫助的話,歡迎關注我的公眾號:

我的群歡迎大家進來探討各種技術與非技術的話題,有興趣的朋友們加我私人微信huannan88,我拉你進群交(♂)流(♀)。