前面介绍了简单数据类型,这里再介绍一下复合数据类型。
复合数据类型,就是将数据类型进行组合,形成一个复杂的数据类型。
我们可以在复合数据类型的基础上,再进行复合,形成更加复杂的复合数据类型。
C语言使用数组、结构、联合体来组织复合数据类型。
1、数组
数组是将多个相同的数据类型组合,形成一列。
C语言中数组用[]来定义。例如:
int a[100];a是一个数组,由100个int类型的变量组成。
数组可以是二维或多维。例如:
int a[12][10];a是一个二维数组,它有12个元素,每个元素又是一个子数组,这个子数组有10个int类型的变量。
2、结构
结构可以将多个相同或者不同类型的变量组合在一起。
C语言中结构用struct定义。例如:
struct TStudent{ int m_iAge; char m_pcName[32];};新定义的复合类型TStudent是一个结构,结构中有两个成员:int类型的成员m_iAge;字符数组成员m_pcName。
3、联合体
联合体表示多个类型公用一段内存。
C语言中联合体用union来定义。例如:
union TValue{ int m_iValue; float m_fValue; char m_cValue;};新定义的复合类型TValue是一个联合体,它有三个成员:int类型的m_iValue;float类型的m_fValue;char类型的m_cValue。
我们对联合体中的一个成员赋值,其它的成员也就拥有了值。
联合体本质上来说,就是一段内存,可以有多种不同的解释。因此,联合体也叫共用体,其实我感觉共用体的叫法更合理一些。你说呢?