struct
是一个创建结构的C
语言关键字。
struct record
{
char name[32];
int age;
float debt;
}
在花括号内居住结构的成员。记录结构类型包含三个成员变量:字符串类型的name
,int
类型的age
和float
类型的debt
。要使用这个结构体,必须声明创建的结构类型的结构变量。 例如:
struct record human;
该行声明了record
结构类型的新变量,新变量名为human
。定义结构本身时,可以声明结构变量。 例如:
struct record
{
char name[32];
int age;
float debt;
} human;
这些语句定义record
结构体并声明记录结构变量human
。还可以创建该结构类型的多个变量:
struct record
{
char name[32];
int age;
float debt;
} r1, r2, 43, r4;
在此示例中创建了四个记录结构变量。每个变量都可以访问结构体中定义的三个成员。要访问结构变量中的成员,请使用句点,即成员运算符。它将结构变量名称与成员名称连接起来。 例如:
printf("Victim: %s\n",r4.name);
r2.age = 32;
以下代码显示了如何使用结构体。
示例代码
#include <stdio.h>
int main()
{
struct player
{
char name[32];
int highscore;
float hours;
};
struct player xbox;
printf("Enter the player's name: ");
scanf("%s", xbox.name);
printf("Enter their high score: ");
scanf("%d", &xbox.highscore);
printf("Enter the hours played: ");
scanf("%f", &xbox.hours);
printf("Player %s has a high score of %d\n", xbox.name, xbox.highscore);
printf("Player %s has played for %.2f hours\n", xbox.name, xbox.hours);
system("pause");
return(0);
}
执行上面示例代码,得到以下结果:
Enter the player's name: Curry
Enter their high score: 197
Enter the hours played: 2.1
Player Curry has a high score of 197
Player Curry has played for 2.10 hours