C语言结构体 #
一、结构体概述 #
1.1 什么是结构体 #
结构体是用户自定义的复合数据类型,可以包含不同类型的成员。
1.2 定义语法 #
c
struct 结构体名 {
类型 成员1;
类型 成员2;
};
二、结构体定义与初始化 #
2.1 定义结构体 #
c
struct Student {
char name[20];
int age;
float score;
};
2.2 声明变量 #
c
struct Student stu1;
struct Student stu2 = {"Alice", 20, 85.5};
2.3 typedef简化 #
c
typedef struct {
char name[20];
int age;
} Student;
Student stu = {"Bob", 21};
三、访问成员 #
3.1 点运算符 #
c
#include <stdio.h>
#include <string.h>
typedef struct {
char name[20];
int age;
} Student;
int main() {
Student stu;
strcpy(stu.name, "Alice");
stu.age = 20;
printf("姓名: %s\n", stu.name);
printf("年龄: %d\n", stu.age);
return 0;
}
3.2 箭头运算符 #
c
#include <stdio.h>
typedef struct {
char name[20];
int age;
} Student;
int main() {
Student stu = {"Alice", 20};
Student* p = &stu;
printf("姓名: %s\n", p->name);
printf("年龄: %d\n", p->age);
return 0;
}
四、嵌套结构体 #
c
#include <stdio.h>
typedef struct {
int year;
int month;
int day;
} Date;
typedef struct {
char name[20];
Date birthday;
} Person;
int main() {
Person p = {"Alice", {2000, 5, 15}};
printf("生日: %d-%d-%d\n", p.birthday.year, p.birthday.month, p.birthday.day);
return 0;
}
五、总结 #
| 操作 | 语法 |
|---|---|
| 定义 | struct Name {…}; |
| 访问 | 变量.成员 或 指针->成员 |
| 初始化 |
下一步,让我们学习结构体数组!
最后更新:2026-03-26