1. 程式人生 > 其它 >C++資料型別之共用體Union & 列舉

C++資料型別之共用體Union & 列舉

共用體是一種資料格式,能夠儲存不同的型別,但只能儲存其中的一種型別

一、宣告

union one4all

{

  int int_val;

  long long_val;

  double double_val;

}

二、初始化

one4all pail;

pail.int_val=4;

pail.double_val=20.06;

列舉提供了一種建立符號常量的方式

一、宣告

enum spectrum {red, orange, yellow, green, blue, violet, indigo, untraviolet};

二、初始化

spectrum band;

band = blue; // valid

band = 2000; //invalid, 

列舉量是整形,整形不能轉為列舉型別,即不能做縮窄操作

三、設定列舉的值

enum bits{one = 1; two = 2; four=4; eight = 8};

enum bigStep{first,second=100,third}; // third = 101

enum {zero, null = 0; numero_uno = 1};

四、列舉的取值範圍

1.上限 大於這個最大值的2的冪,減1,比如101,大於這個值的最小的2的冪是128, 因此上限是127

2.下限 最小小於0,則為0,否則類似與上限一樣,找到這個值,再加上負號,如-6,應該是-7(8-1,加負號)