struct student {
unsigned num; /* 学号 */
char name[20]; /* 姓名 */
char ***; /* 性别 */
unsigned age; /* 年龄 */
float score; /* 分数 */
char addr[50]; /* 地址 */
};
struct date {
int year, month, day;
};
struct student{
unsigned num;
char name[20];
char ***;
struct date birthday;
float score;
} stu1, stu2;
注意{}不表示复合语句,其后有分号
同一结构体的成员不能重名
不同结构体的成员可以重名
结构体成员和其他变量可以重名
结构体类型与其成员或其他变量可重名
struct test { int test; } test;
结构体类型名称是struct 结构体名,注意struct关键字不能省略
struct student stu[10], p=stu;
++p->num; /* 同++(p->num); */
p++->num; /* 同(p++)->num; */
变量的定义
定义共用体类型的同时定义变量。
先定义共用体类型,然后定义共用体变量。
如果之后不再使用此共用体类型,可定义类型时省略共用体名并同时定义变量。
union example
{char c1;
int c2;
float c3;
}un1,un2;
变量的引用
引用共用体变量时,一定要记住某一时刻只能有某一个成员起作用。只能引用共用体变量的成员,而不能引用整个共用体变量。引用形式为:
共用体变量名.成员名
un1.c1,un2.c2,un1.c3是合法的引用。
可通过指向共用体的指针变量引用共用体变量,引用形式为:
共用体指针变量-〉成员名 或 (*共用体指针变量).成员名
语句“union un *pu;pu=&un1;”之后,(*pu).c,pu ->k是合法的引用。
说明:
给共用体变量赋值时,只能对共用体的一个成员赋值,而不能对整个共用体变量赋值。对共用体变量而言,只有最近一次被赋值的成员是有效的,其他成员无效
阅读(1440) | 评论(0) | 转发(0) |