第10章,C语言(非计算机专业).ppt
文本预览下载声明
结构类型及; 结构的定义与使用
结构与数组的关系
结构与指针的关系
结构与函数的关系
联合类型、枚举类型
链表简单应用;§10-1 结构类型; 1. struct 为关键字。
2. 结构类型名称是所定义的结构类型标识,由用户自己定义;
3. { } 中包含的是组成该结构的成员;
4. 每个成员的数据类型既可以是简单的数据类型 (int、char、float、double...),也可以是复杂的数据类型(数组类型或结构类型)。;为了处理通信录,可以定义如下结构:
struct address
{ char name[30]; /* 姓名 */
char street[40]; /* 街道名称 */
char city[20]; /* 城市 */
char state[2]; /* 省市代码 */
unsigned long zip; /* 邮政编码*/
};;4.要使用结构必须先说明结构类型的变量。; 例:将变量today说明为date型的结构变量:
struct date today;
说明多个address型的结构变量:
struct address wang, li, zhang;
结构变量同样有存储类型,存储特性与一般变量完全相同。;可以在声明结构体类型的同时定义变量
struct 结构名
{
成员表列
} 变量名表列;
如: struct date
{ int year ;
int month ;
int day ; } today1,today2 ;
;也可以直接定义结构体类型变量,其一般形式为:
struct
{
成员表列
} 变量名表列;
如:
struct
{ int year ;
int month ;
int day ; } today ;
; 结构变量的各个成员分量在内存中占用连续存储区域,所占内存大小为结构中每个成员分量占用内存的长度之和。;求结构变量占用内存大小
使用 sizeof 运算。sizeof 是单目运算,其功能是求出运算对象所占的内存空间的字节数目。
使用的一般形式为:
sizeof (变量或类型说明符); main ( )
{ char str[20];
struct date /* 定义结构date */
{ int year, month, day; } today;
struct address /* 定义结构address */
{ char name[30], street[40],city[20],state[2];
unsigned long int zip; } wang;
printf(char: %d\t, sizeof(char));
printf(int: %d\t, sizeof(int));
printf(long: %d\t, sizeof(long));
printf(float: %d\n, sizeof(float));
printf(double: %d\t, sizeof(double));
printf(str: %d\t, sizeof(str));
printf(date: %d\t, sizeof(struct date));
printf(wang: %d\n, sizeof(wang)); };四、关于结构类型的说明;3 成员名可以与程序中的变量名相同,二者代表不同的对象。; struct date
{ int month;
int day;
int year;
};
struct student
{ int num; char name[20];
char sex; int age;
struct date birthday;
char addr[30];
} student1,
显示全部