结构体怎么编程

时间:2025-01-22 19:52:22 游戏攻略

结构体是C语言中的一种复合数据类型,用于组合不同类型的数据。以下是如何使用结构体的步骤:

定义结构体

使用`struct`关键字定义一个结构体类型,并指定其成员变量的类型和名称。

```c

struct Student {

char name; // 姓名

int age;// 年龄

float score;// 成绩

};

```

创建结构体变量

可以在定义结构体类型的同时创建结构体变量,并初始化其成员变量。

```c

struct Student stu1 = {"小明", 20, 89.5};

```

也可以先定义结构体类型,然后再单独定义结构体变量,并进行初始化。

```c

struct Student stu2;

strcpy(stu2.name, "小红");

stu2.age = 22;

stu2.score = 92.0;

```

访问结构体成员

通过结构体变量名访问其成员变量。

```c

printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", stu1.name, stu1.age, stu1.score);

```

结构体数组

可以定义一个结构体数组来存储多个结构体变量。

```c

struct Student arr = {

{"张三", 18, 80},

{"李四", 19, 60},

{"王五", 20, 70}

};

```

遍历结构体数组

使用循环遍历结构体数组,并访问每个结构体的成员。

```c

for (int i = 0; i < 3; i++) {

printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", arr[i].name, arr[i].age, arr[i].score);

}

```

结构体指针

可以定义一个指向结构体的指针,并通过该指针访问结构体的成员。

```c

struct Student *p = &stu1;

printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", p->name, p->age, p->score);

```

示例代码

```c

include

include

// 定义结构体类型

struct Student {

char name; // 姓名

int age;// 年龄

float score;// 成绩

};

int main() {

// 创建并初始化结构体变量

struct Student stu1 = {"小明", 20, 89.5};

struct Student stu2;

strcpy(stu2.name, "小红");

stu2.age = 22;

stu2.score = 92.0;

// 访问结构体成员

printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", stu1.name, stu1.age, stu1.score);

printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", stu2.name, stu2.age, stu2.score);

// 结构体数组

struct Student arr = {

{"张三", 18, 80},

{"李四", 19, 60},

{"王五", 20, 70}

};

// 遍历结构体数组

for (int i = 0; i < 3; i++) {

printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", arr[i].name, arr[i].age, arr[i].score);

}

// 结构体指针

struct Student *p = &stu1;

printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", p->name, p->age, p->score);

return 0;

}

```