C语言结构体简单入门讲解

C语言结构体简单入门讲解

什么是结构体?

结构体是C语言中的复合数据类型之一,它允许我们将不同类型的数据组合在一起,形成一个新的自定义数据类型。

结构体的定义方式为:

struct 结构体名 {
    结构体成员1;
    结构体成员2;
    ...... 
};

结构体的使用

结构体的声明

声明一个结构体和声明一个变量类似,都需要指定数据类型和变量名。结构体的声明可以在函数的内部或外部进行,但是需要注意作用域的问题。

struct Student {
    char name[20];
    int age;
    float score;
};

struct Student student1, student2;

结构体的初始化

结构体的初始化方法与数组相似,也可以使用大括号 {} 和逗号 , 将结构体的各个成员进行初始化。

struct Student student1 = {"Tom", 18, 85.5};
struct Student student2 = {.name="Jerry", .score=90.0, .age=19};

结构体的访问

结构体的成员可以使用成员运算符 . 来访问。

printf("姓名:%s,年龄:%d,分数:%f", student1.name, student1.age, student1.score);

结构体的指针

结构体也可以使用指针,可以通过指针来访问结构体成员。

struct Student *p = &student1;
printf("姓名:%s,年龄:%d,分数:%f", p->name, p->age, p->score);

结构体的示例

结构体存储多个学生信息

#include <stdio.h>
#include <string.h>

struct Student {
    char name[20];
    int age;
    float score;
};

int main() {
    struct Student students[10] = {
        {"Tom", 18, 85.5},
        {"Jerry", 19, 90.0},
        {"Alice", 20, 92.5},
        {"Bob", 21, 88.0},
        {"Mike", 22, 89.5},
        {"Lucy", 23, 87.5},
        {"John", 24, 86.0},
        {"Mary", 25, 91.5},
        {"David", 19, 89.0},
        {"Jane", 20, 93.0}
    };

    for (int i = 0; i < 10; i++) {
        printf("姓名:%s,年龄:%d,分数:%f\n", students[i].name, students[i].age, students[i].score);
    }

    return 0;
}

结构体存储学生信息并计算平均分和最高分

#include <stdio.h>
#include <string.h>

struct Student {
    char name[20];
    int age;
    float score;
};

int main() {
    struct Student students[10] = {
        {"Tom", 18, 85.5},
        {"Jerry", 19, 90.0},
        {"Alice", 20, 92.5},
        {"Bob", 21, 88.0},
        {"Mike", 22, 89.5},
        {"Lucy", 23, 87.5},
        {"John", 24, 86.0},
        {"Mary", 25, 91.5},
        {"David", 19, 89.0},
        {"Jane", 20, 93.0}
    };

    float total_score = 0.0;
    float average_score = 0.0;
    float max_score = students[0].score;

    for (int i = 0; i < 10; i++) {
        total_score += students[i].score;

        if (students[i].score > max_score) {
            max_score = students[i].score;
        }
    }

    average_score = total_score / 10;

    printf("平均分:%f,最高分:%f\n", average_score, max_score);

    return 0;
}

以上就是C语言结构体的简单入门讲解。通过学习结构体,我们可以更加灵活地处理数据,提高我们程序设计的效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言结构体简单入门讲解 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • php面向对象全攻略 (五) 封装性

    下面是对于「php面向对象全攻略(五)封装性」的完整攻略说明: 什么是封装性 面向对象三大特性中的封装性指的是把对象(或类)的内部状态和行为对外部隐藏起来,只向外部暴露必要的接口,以保证内部数据的安全和灵活性。 具体来说,通过使用访问控制符来限制属性和方法的访问级别。主要有private,protected和public,其中private表示只能在当前类内…

    other 2023年6月25日
    00
  • Java实现规则几何图形的绘制与周长面积计算详解

    Java实现规则几何图形的绘制与周长面积计算详解 本攻略将详细介绍如何使用Java编程语言实现规则几何图形的绘制以及计算其周长和面积。我们将以两个示例说明这个过程。 示例一:绘制矩形 首先,我们需要导入Java的图形库,例如java.awt和javax.swing。然后,我们可以创建一个继承自JFrame的类,用于显示我们的图形。 import java.a…

    other 2023年7月27日
    00
  • Go单元测试对数据库CRUD进行Mock测试

    以下是使用Go进行单元测试对数据库CRUD进行Mock测试的完整攻略: 步骤1:安装依赖库 首先,您需要安装以下依赖库: go get github.com/stretchr/testify/assert go get github.com/DATA-DOG/go-sqlmock 步骤2:编写测试代码 接下来,您可以编写测试代码来进行数据库CRUD的Mock…

    other 2023年10月17日
    00
  • oracle取整的几种方法

    当然,我很乐意为您提供有关“Oracle取整的几种方法”的完整攻略。以下是详细的步骤和两个示例: 1. Oracle取整的几种方法 在Oracle中,有多种方法可以对数字进行取整。以下是一些常见的方法: CEIL:向上取整,返回大于或等于指定数字的最小整数。 FLOOR:向下取整,返回小于或等于指定数字的最大整数。 ROUND:四舍五入,返回最接近指定数字的…

    other 2023年5月6日
    00
  • swiftmd5加密方法

    以下是“Swift MD5加密方法”的完整攻略: Swift MD5加密方法 在Swift中,我们可以使用MD5算法来加密字符串。以下是如何使用Swift实现MD5加密的步骤: 1. 导入CryptoKit库 首先,我们需要导入Swift的CryptoKit库。可以使用以下代码: import CryptoKit 2. 创建MD5哈希 接下来,我们可以使用C…

    other 2023年5月7日
    00
  • Java super和this的对比及使用

    Java中的super和this是两个重要的关键字,在面向对象编程中常用于访问父类的属性和方法以及当前实例的属性和方法。本攻略将围绕这两个关键字详细讲解其对比和使用方法。 一、super和this的区别 1.1 定义 super:关键字表示当前类的父类对象。 this:关键字表示当前对象本身。 1.2 用法 super:可以使用”super.”的方式调用父类…

    other 2023年6月27日
    00
  • XP系统宽带连接失败提示错误619怎么办 XP电脑宽带连接失败提示错误619的解决方法

    XP系统宽带连接失败提示错误619怎么办 当使用XP系统连接宽带时,如果提示错误619,那么很可能是因为以下原因导致的: 宽带拨号参数设置不正确 安全软件阻止宽带连接 网络驱动程序有误 系统缺少关键性文件 下面是一些解决方法: 1. 宽带拨号参数设置 在拨号前,需要正确地设置宽带参数,包括用户名、密码、IP地址、DNS服务器地址等。这些参数通常由宽带提供商提…

    other 2023年6月27日
    00
  • Postgresql 默认用户名与密码的操作

    PostgreSQL 默认的用户名为postgres,密码可以在安装过程中设置,若没有设置则默认为空密码。接下来将为您介绍PostgreSQL默认用户名与密码的常用操作方式: 1. 修改PostgreSQL默认密码 在命令行中输入以下命令可进入PostgreSQL命令行: “`shell scriptpsql -U postgres 此时若输入`postg…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部