变量是数据存储的基本单位,而变量是有类型的。C语言事先定义了几种基本的数据类型,供程序员直接使用,如整型,实型,字符型等。为了使程序员能够充分表达各种复杂的数据,C语言还提供了构造复杂数据类型的手段,如数组,结构,指针等。
一.数组
数组是最基本的构造类型,它的特点是存储多个相同类型的数据,或者说它是一组相同类型数据的有序集合。数组中的元素在内存中连续存放,每个元素都属于同一种数据类型,用数组名和下标可以唯一的确定数组元素。
注意:C编译器不检查数组是否越界,因此在编程时不要让下标越界。因为一旦发生下标越界,就会把变量写到其他变量所占的存储单元中,可能造成不可预料的运行结果。
例3.求集合元素的最大值。集合元素存放于数组A中,数组大小为N。
ElementType Max(ElementType S[], int N)
{
//求N个集合元素S[]中的最大值
int i;
ElementType CurMax = S[0];
for(i=1; i<N; i++)
{
if(S[i] > CurMax)
CurMax = S[i];
}
return CurMax;
二.类型定义typedef
在编程过程中,除了使用C语言提供的标准类型和自己定义的一些结构体,枚举等类型外,还可以用typedef语句来建立已经定义好的数据类型的别名:
typedef 原有类型名 新类型名
思考一下:这么做的好处是什么呢?
在此对上述例3中的ElementType进行解释:ElementTy