第9章Cx51构造数据类型 本章讨论几种复杂的数据类型一构造型数 据类型。它们是按照一定的规则由一系列 元素类型组成的数据类型。其中元素类型 又叫基类型,它给出构造型数据本身的类 型,既可以是简单的,也可以是复杂的 定的规则体现为构造方法,而构造方法 决定了如何访问一个元素 ●复杂数据类型主要有数组、结构、联合和 指针四种构造型数据类型
第9章 Cx51 构造数据类型 • 本章讨论几种复杂的数据类型—构造型数 据类型。它们是按照一定的规则由一系列 元素类型组成的数据类型。其中元素类型 又叫基类型,它给出构造型数据本身的类 型,既可以是简单的,也可以是复杂的。 一定的规则体现为构造方法,而构造方法 决定了如何访问一个元素。 • 复杂数据类型主要有数组、结构、联合和 指针四种构造型数据类型
9.1数组类型 数组类型一般由固定数量的同类元素所组成。其 特点是数量确定,元素类型要相同。在C语言中 数组的元素类型主要是整数类型和字符类型,数 组的维数主要是一维的,两维以上用得较少。 数组变量的说明通过说明语句来实现。 例如,数组变量P(以后简称“数组P”)是10个 整数的数组,通过如下说明语句来说名 ●intP[10] 其中,P为数组变量的名称,不是数组类型的名 称;int为数组的元素类型;10为数组元素的个数
9.1数组类型 • 数组类型一般由固定数量的同类元素所组成。其 特点是数量确定,元素类型要相同。在C语言中, 数组的元素类型主要是整数类型和字符类型,数 组的维数主要是一维的,两维以上用得较少。 • 数组变量的说明通过说明语句来实现。 例如,数组变量P(以后简称“数组P”)是10个 整数的数组,通过如下说明语句来说名: • int P[10]; 其中,P为数组变量的名称,不是数组类型的名 称;int为数组的元素类型;10为数组元素的个数
这10个元素分别表示如下: P[0],P1],P[2],P[3],P[4],P[5], P[6],P[刀],P[8],P[9] 其中,0,1,2,…,9表示数组元素的下 标,n个元素的最小下标为0,最大下标则 为n-1,而不是n。数组的下标必须在方括 号[]之中
这10个元素分别表示如下: P[0],P[1],P[2],P[3],P[4],P[5], P[6],P[7],P[8],P[9] 其中,0,1,2,…,9表示数组元素的下 标,n个元素的最小下标为0,最大下标则 为n-1,而不是n。数组的下标必须在方括 号[ ]之中
9.2指针类型 在C语言中,指针是一个变量,包含着另一个变 的地址。因此,通过指针可以间接地访问另 变量。 为了熟悉指针定义,我们先看下列两个语句: int x,*px; px =&X 前一个说明语句表示x是一个整型变量,px 是一个指向整数的指针;后一个赋值语句表示将 变量x的地址赋给变量px。其中x是变量,&X表示 x的地址。单目运算符&是一个地址运算符,它用 来产生一个变量的地址
9.2指针类型 • 在C语言中,指针是一个变量,包含着另一个变 量的地址。因此,通过指针可以间接地访问另一 个变量。 为了熟悉指针定义,我们先看下列两个语句: int x, *px; px = &x; 前一个说明语句表示x是一个整型变量,px 是一个指向整数的指针;后一个赋值语句表示将 变量x的地址赋给变量px。其中x是变量,&x表示 x的地址。单目运算符&是一个地址运算符,它用 来产生一个变量的地址
上述语句完成了由变量找地址的工作,下面的语句将完 成由地址找内容的工作 int x, y, *px; px=&X y =pX 上述程序段表示将X的地址赋给px,通过地址运算符来 实现。px作为y的最终地址,px的内容就是y的值,因此y 就等于x 请注意:&x和*x的意义是不相同的,其主要区别为 8x中,x为变量,8X则为x的地址; *x中,x为地址,*x则为以x为地址的那个对象的内容 前者的X通常为整数型变量,后者的x必须是指针
上述语句完成了由变量找地址的工作,下面的语句将完 成由地址找内容的工作。 int x, y, *px; px = &x; y = *px; 上述程序段表示将x的地址赋给px,通过地址运算符来 实现。px作为y的最终地址,px的内容就是y的值,因此y 就等于x。 请注意:&x和*x的意义是不相同的,其主要区别为: &x中,x为变量,&x则为x的地址; *x中,x为地址, *x则为以x为地址的那个对象的内容。 前者的x通常为整数型变量,后者的x必须是指针