1结构类型
声明结构类型
结构类型和本地变量一样,在函数内部声明的结构类型只能在函数内部使用。所有通常在函数外部声明结构类型,这样就可以被多个函数使用。
声明结构的形式:
struct point{
int x;
int y;
};
struct point p1,p2;
p1和p2都是point里面有x和y的值
struct{
int x;
int y;
}p1,p2;
p1和p2都是一种无名结构,里面有x和y(短期使用)
struct point{
int x;
int y;
}p1,p2;
p1和p2都是point里面有x和y的值
对于第一和第三两种形式,都声明了结构point。但是第二种形式没有声明point,只是定义了两个变量
结构的初始化
结构成员:
结构和数组有些像,数组用[ ]运算符和下标访问其成员
a[0]=10;
结构用“.”运算符和名字访问其成员
today.day
student.firstName
p1.x
p1.y
结构运算:
要访问整个结构,直接用结构变量的名字
对于整个结构,可以做赋值、取地址,也可以传递给函数参数
p1=(struct point){5,10};
//相当于p1.x=5,p1.y=10
p1=p2;
//相当于p1.x=p2.x,p1.y=p2.y
结构指针:
和数组不同,结构变量的名字并不是结构变量的地址,必须用&运算符
struct date *pDate=&today;