翁恺老师网课,有兴趣可以去看原课。
声明结构类型
#includeint main(int argc,char const *argv[]) { struct date{ int month; int day; int year; }; struct date today; today.month=07; today.day=31; today.year=2014; printf("Today's date is %i-%i-%i.n", today.year,today.month,today.day); return 0; }
在函数内/外?
· 和本地变量一样,在函数内部声明的结构类型只能在函数内部使用。
· 所以通常在函数外部声明结构类型,这样就可以被多个函数所使用了。
声明结构的形式
struct point{
int x;
int y;
};
struct point p1,p2;
p1和p2都是point里面有x和y的值。
struct{
int x;
int y;
}p1和p2都是一种无名结构,里面有x和y。
struct point{
int x;
int y;
}p1,p2;
p1和p2都是point里面有x和y的值t。
结构变量
struct date today;
today.month=06;
today.day=19;
today.year=2005;
结构成员
· 结构和数组有点像
· 数组用[]运算符和下标访问其成员
· a[0]=10;
· 结构用.运算符和名字访问其成员
· today.day
· student.firstName
· p1.x
· p2.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;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)