介绍C语言 typedef struct 指针类型的用法

介绍 typedef struct 指针类型的用法和示例代码。

第一个例子:

假设我们要创建一个表示汽车的数据结构,并定义一个指向汽车结构体的指针类型。我们可以使用 typedef struct 来定义一个新的类型名 car_t,并定义一个相应的指针类型名 car_ptr_t,如下所示:

typedef struct {
    
    
    char brand[20];
    int year;
    float price;
} car_t;

typedef car_t* car_ptr_t;

在这个例子中,我们定义了一个新的结构体类型 car_t,它包含汽车的品牌、生产年份和价格三个成员。然后,我们使用 typedef 定义了一个指向 car_t 结构体的指针类型 car_ptr_t。

接下来,我们可以使用 car_t 来定义一个汽车变量,使用 car_ptr_t 来定义一个指向汽车结构体的指针变量,如下所示:

car_t myCar = {
    
    "Toyota", 2022, 25000.0};
car_ptr_t ptrCar = &myCar;

在这里,我们定义了一个名为 myCar 的汽车变量,它的品牌是 Toyota,生产年份是 2022,价格是 25000.0。同时,我们定义了一个名为 ptrCar 的指针变量,它指向 myCar。

第二个例子:

假设我们正在开发一个学生管理系统,需要存储每个学生的姓名、年龄和成绩。我们可以使用 typedef struct 来定义一个新的类型名 student_t,并定义一个相应的指针类型名 student_ptr_t,如下所示:

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

typedef student_t* student_ptr_t;

在这个例子中,我们定义了一个新的结构体类型 student_t,它包含学生的姓名、年龄和成绩三个成员。然后,我们使用 typedef 定义了一个指向 student_t 结构体的指针类型 student_ptr_t。

接下来,我们可以使用 student_t 来定义一个学生变量,使用 student_ptr_t 来定义一个指向学生结构体的指针变量,如下所示:

student_t student1 = {
    
    "Alice", 18, 95.5};
student_ptr_t ptrStudent = &student1;

在这里,我们定义了一个名为 student1 的学生变量,她的姓名是 Alice,年龄是 18 岁,成绩是 95.5。同时,我们定义了一个名为 ptrStudent 的指针变量,它指向 student1。

现在,我们可以通过指针来访问和修改学生的信息,例如:

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

ptrStudent->score = 88.0;

通过指针访问结构体的成员时,使用箭头运算符 “->”。上述代码中,我们打印了学生的姓名、年龄和成绩,并将成绩修改为 88.0。

通过这个例子,可以看到 typedef struct 指针类型的实际应用。它可以帮助我们定义一种新的数据类型,并使用指针来引用和操作该类型的变量。

扫描二维码关注公众号,回复: 17255725 查看本文章

猜你喜欢

转载自blog.csdn.net/m0_53157282/article/details/134064175