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; }