C 语言中,定义结构体(struct)是一种组织数据的有效方式。点(Point)结构体可以表示二维空间中的一个点,包含x和y坐标,书籍(Book)结构体可以用书名、作者、页数和价格表示,三角形(Triangle)结构体可以用三个点的坐标表示和汽车(Car)结构体包含品牌、型号、年份和价格等。

1、点(Point)结构体

可以使用结构体(struct)来定义一个点(Point)。一个点通常包含两个坐标,分别表示横坐标(x)和纵坐标(y),代码如下,

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

// 定义点结构体
typedef struct {
    float x;
    float y;
} Point;


int main() {
    // 定义并初始化点
    Point p1 = {0.0, 0.0};
    Point p2 = {1.0, 1.0};
    
    // 输出点的信息
    printf("Point p1: (%.2f, %.2f)\n", p1.x, p1.y);
    printf("Point p2: (%.2f, %.2f)\n", p2.x, p2.y);

    
    return 0;
}

2、书籍结构体

书籍结构体可以包含书名、作者、出版年份和ISBN号等信息。,代码如下,

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

// 定义书籍结构体
typedef struct {
    char title[100];
    char author[100];
    int pages;
    float price;
} Book;

int main() {
    
    // 定义并初始化书籍
    Book book = {"C Programming", "Dennis Ritchie", 274, 29.99};
    
    // 输出书籍的信息
    printf("Book title: %s\n", book.title);
    printf("Book author: %s\n", book.author);
    printf("Book pages: %d\n", book.pages);
    printf("Book price: $%.2f\n", book.price);
    
    
    return 0;
}

3、三角形结构体

可以通过三个点来定义。每个点都是一个Point结构体,代码如下,

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


// 定义点结构体
typedef struct {
    float x;
    float y;
} Point;

// 定义三角形结构体
typedef struct {
    Point vertex1;
    Point vertex2;
    Point vertex3;
} Triangle;

int main() {
    
        // 定义并初始化点
    Point p1 = {0.0, 0.0};
    Point p2 = {1.0, 1.0};
    
    // 定义并初始化三角形
    Triangle triangle = {p1, p2, {2.0, 0.0}};
    
    // 输出三角形的顶点信息
    printf("Triangle vertices: \n");
    printf("Vertex 1: (%.2f, %.2f)\n", triangle.vertex1.x, triangle.vertex1.y);
    printf("Vertex 2: (%.2f, %.2f)\n", triangle.vertex2.x, triangle.vertex2.y);
    printf("Vertex 3: (%.2f, %.2f)\n", triangle.vertex3.x, triangle.vertex3.y);
    
    return 0;
}

4、汽车结构体

汽车结构体可以包含品牌、型号、生产年份和价格等信息。代码如下,

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

// 定义汽车结构体
typedef struct {
    char brand[50];
    char model[50];
    int year;
    float price;
} Car;

int main() {
    
    // 定义并初始化汽车
    Car car = {"Toyota", "Camry", 2020, 24000.00};
    // 输出汽车的信息
    printf("Car brand: %s\n", car.brand);
    printf("Car model: %s\n", car.model);
    printf("Car year: %d\n", car.year);
    printf("Car price: $%.2f\n", car.price);
    
    return 0;
}

推荐文档