定义了结构体变量之后就可以在程序中对他进行引用,但是结构体变量的引用同一般变量引用不太一样,因为结构体变量中有多个不同类型变量,所以结构体变量不能整体引用,只能一个一个成员的引用。

1 只能分别单独引用他内部的成员。

结构体变量名.成员名
student1.num = 172041;

2 如果结构体类型中的成员也是一个结构体类型,则要使用若干个".",一级一级的找下去。因为只能对最低级的成员进行操作。其实结构体就是对数据的一种封装,当结构体成员也是结构体时,完全可以将结构体成员释放出来。

struct AGE
{
	int year;
	int month;
	int day;
}

struct STUDENT
{
	char name[20];
	int num;
	struct AGE birthday;
	float score;
}

上面完全可以写成:

struct STUDENT
{
	char name[20];
	int num;
	int year;
	int month;
	int day;
	float score;
}

3 可以引用‘结构体变量成员‘的地址,也可以引用“结构体变量”的地址。如“&student1.num” 和 “&student1”,前者标志student1.num这个成员在内存中的首地址,后者表示结构体变量student1在内存中的首地址。在C语言中,结构体变量的首地址就是结构体第一个成员的首地址。所以&student1就等价于第一个成员name的首地址,而name是一个数组,数组名表示的就是数组的首地址。但是要注意的是,他们等价于☞的是仅仅“他们表示的是同一个内存空间的地址”,但他们的类型是不同的,&studen