C 语言中,定义结构体(struct)是一种组织数据的有效方式。矩形结构体可以用四个坐标点来表示,或者用长和宽来表示,日期结构体日期可以用年、月、日来表示,员工信息可以包含姓名、出生日期、入职日期、部门、职位等。

1、 矩形结构体

矩形可以用四个坐标点来表示,或者用长和宽来表示,代码如下,

#include <stdio.h>


// 定义矩形结构体
struct Rectangle {
    float length;
    float width;
};


int main() {

    struct Rectangle rect1 = {5.5, 3.0};
    float area = rect1.length * rect1.width;
    printf("矩形的面积:%.2f\n", area);


    return 0;
}

2、日期结构体

日期结构体通常包含年、月、日三个属性,代码如下,

#include <stdio.h>

// 定义日期结构体
struct Date {
    int day;
    int month;
    int year;
};


int main() {

    struct Date today = {8, 8, 2024};
    printf("今天的日期:%d/%d/%d\n", today.day, today.month, today.year);

    return 0;
}

3、员工结构体

员工结构体可以包含员工的姓名、员工ID、入职日期等属性,代码如下,

#include <stdio.h>

// 定义员工结构体
struct Employee {
    int empId;
    char name[50];
    float salary;
    struct Date hireDate;
};

int main() {

    struct Employee emp1 = {101, "Alice", 5000.0, {15, 7, 2020}};
    printf("\n员工信息:\n");
    printf("ID: %d\n", emp1.empId);
    printf("姓名: %s\n", emp1.name);
    printf("工资: %.2f\n", emp1.salary);
    printf("入职日期: %d/%d/%d\n", emp1.hireDate.day, emp1.hireDate.month, emp1.hireDate.year);

    return 0;
}

4、结构体使用示例

参考上面定义的结构体,定义并使用员工、日期和矩形结构体,

#include <stdio.h>

// 定义Point结构体 
typedef struct { 
    int x; 
    int y; 
} Point; 
 
// 定义Rectangle结构体 
typedef struct { 
    Point topLeft;   // 左上角坐标 
    Point bottomRight; // 右下角坐标 
} Rectangle; 
 
// 定义Date结构体 
typedef struct { 
    int year; 
    int month; 
    int day; 
} Date; 
 
// 定义Employee结构体 
typedef struct { 
    char name[50];  // 假设员工姓名不超过50个字符 
    Date hireDate;  // 入职日期 
} Employee; 
 
int main() { 
    // 创建一个矩形实例 
    Rectangle rect = {{0, 0}, {10, 10}}; 
    printf("Rectangle: topLeft=(%d, %d), bottomRight=(%d, %d)\n", 
           rect.topLeft.x,  rect.topLeft.y,  rect.bottomRight.x,  rect.bottomRight.y);  
 
    // 创建一个日期实例 
    Date date = {2020, 1, 15}; 
    printf("Date: %d-%02d-%02d\n", date.year,  date.month,  date.day);  
 
    // 创建一个员工实例 
    Employee emp = {"John Doe", {2019, 7, 20}}; 
    printf("Employee: name=%s, hireDate=%d-%02d-%02d\n", 
           emp.name,  emp.hireDate.year,  emp.hireDate.month,  emp.hireDate.day);  
 
    return 0; 
} 

推荐文档

相关文档

大家感兴趣的内容

随机列表