比如要声明一个结构体类型

学生有:学号,姓名,年龄,身高,体重。则可以声明一个结构体类型

char [10]; //身高 成员

char name[12]; //姓名 成员

int age; //年龄 成员

int ; //身高 成员

int ; //体重 成员

};

为了结构清晰,每一个成员建议都单独定义。

那么如何定义结构体变量?

如果上面已经声明好类型,则可以定义结构体类型的变量。

stdA,stdB;

这里定义了两个结构体变量。这种方式比较清晰。当然也可以声明的同时定义。还可以给无名结构体声明的时候定义结构体变量。

如何用结构体变量?

除了两个类型相同的结构体变量可以相互整体赋值之外,一般的操作比如输入、输出、赋值都是通过引用结构体变量的成员来进行。

比如用stuA的学号,可以stuA.。

用stuA的姓名,可以stuA.name.

即使用:变量名.成员名。

结构体变量也有地址吧?如何使用指针变量来引用呢?

比如:

stuA;

*pstu;

pstu=&stuA;

则可以通过以下方式引用成员:

(1)(*指针变量名).成员名

(*pstu).name.

(2) 指针变量名->成员名

pstu->name

应该有结构体数组吧?

当然,我们可以定义一个的结构体数组。

stu[10];

10个元素的一个结构体数组。

可以通引用数组元素的成员: stu[i].name

应该有指向结构体数组的指针变量吧?

当然,其用法与其他基本类型数组的指针用法一样。

指针也可以加整数,减整数,自加,自减等。

函数的形式参数可以是结构体类型变量吧?

是的。

比如:

void Input( std)

函数的形式参数也可以是结构体指针吧?

是的,你很聪明哦。

比如:

void ( *std)

函数的形式参数也可以是结构体数组吧?

嗯,对的。

比如:

void sort( std[],int n)

函数的类型也可以是结构体类型吧。

是的。

比如:

( std[])

老师我懂了,这种数据类型可以根据需要,想怎么用就怎么用。

哦,是的,你很聪明。你可以把她看成特殊的类型,也可以把她看做没有那么特殊。有其一般性,也有其特殊性。 与其他数据类型有共性也有自己的个性。这个与我们每一个同学之间也一样哦。

今天好开心哦。

哦,是吗? 下次课再见。O(∩_∩)O~

发表回复

后才能评论