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