如何使用struct
1个回答
展开全部
关键字struct能定义各种类型的变量集合,称为结构(structure),并把它们视为一个单元。
1.struct的简单例子
下面是一个struct的简单的声明例子:
struct
horse
{
int
age;
int
height;
}
Silver;
这个例子声明了一个结构horse。horse不是一个变量名,而是一个新的类型,这个类型名称通常称为结构标记符(structure tag)或标记符名称(tag name)。结构标记符的命名方式和我们熟悉的变量名相同。
注意:
结构标记符可以和变量使用相同的名称,但最好不要这么做,因为这会使代码难以理解。
在这个结构例子中,结构的一个实例Silver是在定义结构时声明的。它是一个horse类型的变量,只要使用变量名称Silver,它都包含两个结构成员:age和height。
上述的例子也可变得复杂一些,如下:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
}
Dobbin = {24, 17, "Dobbin", "Trigger", "Flossie"};
1.1定义结构类型和结构变量
可以将结构的声明和结构变量的声明分开。取代前面例子的语句如下:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
};
struct horse Dobbin = {24, l7, "Dobbin", "Trigger", "Flossie"
};
现在有两个分开的语句。第一个定义结构标记符horse,第二个声明该类型的变量Dobbin。结构定义和结构变量声明语句都用分号结束。在Dobbin结构成员的初始值中,Dobbin的父亲是Trigger,母亲是Flossie。
1.2访问结构成员
要引用结构成员,应在结构变量名称的后面加上一个句点,再加上成员变量名称。例如,发现Dobbin隐瞒了它的年龄,事实上它比初始化的值年轻,就可以将值修正如下:
Dobbin.age = 12;
结构变量名称和成员名称间的句点是一个运算符,称为成员选择运算符。这行语句Dobbin结构的age成员设定成12。结构成员和相同类型的变量完全一样,可以给它们设定值,也可以在表达式中像使用一般变量一样使用它们。
用下面的语句定义horse结构:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
};
这个结构有两个整数成员age和height,以及三个字符数组成员name、father和mother。在闭括号的后面仅是一个分号,还没有声明horse类型的变量。在定义完horse结构后,具有如下语句:
struct
horse My_first_horse;
1.3未命名的结构
不—定要给结构指定标记符名字。用一条语句声明结构和该结构的实例时,可以省略标记符名字。在上一个例子中,声明了horse类型和该类型的实例My_first_horse,也可以改为:
struct
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
}
My_first_horse;
使用这种方法的最大缺点是不能在其他语句中定义这个结构的其他实例。这个结构类型的所有变量必须在一行语句中定义。
1.struct的简单例子
下面是一个struct的简单的声明例子:
struct
horse
{
int
age;
int
height;
}
Silver;
这个例子声明了一个结构horse。horse不是一个变量名,而是一个新的类型,这个类型名称通常称为结构标记符(structure tag)或标记符名称(tag name)。结构标记符的命名方式和我们熟悉的变量名相同。
注意:
结构标记符可以和变量使用相同的名称,但最好不要这么做,因为这会使代码难以理解。
在这个结构例子中,结构的一个实例Silver是在定义结构时声明的。它是一个horse类型的变量,只要使用变量名称Silver,它都包含两个结构成员:age和height。
上述的例子也可变得复杂一些,如下:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
}
Dobbin = {24, 17, "Dobbin", "Trigger", "Flossie"};
1.1定义结构类型和结构变量
可以将结构的声明和结构变量的声明分开。取代前面例子的语句如下:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
};
struct horse Dobbin = {24, l7, "Dobbin", "Trigger", "Flossie"
};
现在有两个分开的语句。第一个定义结构标记符horse,第二个声明该类型的变量Dobbin。结构定义和结构变量声明语句都用分号结束。在Dobbin结构成员的初始值中,Dobbin的父亲是Trigger,母亲是Flossie。
1.2访问结构成员
要引用结构成员,应在结构变量名称的后面加上一个句点,再加上成员变量名称。例如,发现Dobbin隐瞒了它的年龄,事实上它比初始化的值年轻,就可以将值修正如下:
Dobbin.age = 12;
结构变量名称和成员名称间的句点是一个运算符,称为成员选择运算符。这行语句Dobbin结构的age成员设定成12。结构成员和相同类型的变量完全一样,可以给它们设定值,也可以在表达式中像使用一般变量一样使用它们。
用下面的语句定义horse结构:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
};
这个结构有两个整数成员age和height,以及三个字符数组成员name、father和mother。在闭括号的后面仅是一个分号,还没有声明horse类型的变量。在定义完horse结构后,具有如下语句:
struct
horse My_first_horse;
1.3未命名的结构
不—定要给结构指定标记符名字。用一条语句声明结构和该结构的实例时,可以省略标记符名字。在上一个例子中,声明了horse类型和该类型的实例My_first_horse,也可以改为:
struct
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
}
My_first_horse;
使用这种方法的最大缺点是不能在其他语句中定义这个结构的其他实例。这个结构类型的所有变量必须在一行语句中定义。
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询