结构体是C++中用于组合不同类型数据的自定义类型,使用struct定义,如struct Student { int id; char name[50]; float score; }; 可创建变量并用点操作符访问成员,如s1.id = 1001; 支持指针访问,如ptr->id;支持多种初始化方式:顺序初始化Student s = {1002, "Tom", 90.0}; C++11指定初始化.student=85.0}; 及构造函数初始化,结构体还可包含函数,支持数据封装,使用灵活。

在C++中,结构体(struct)是一种用户自定义的数据类型,允许将不同类型的数据组合在一起。它非常适合表示有多个属性的实体,比如学生、坐标点等。
定义一个结构体
使用 struct 关键字来定义结构体。语法如下:
struct 结构体名 {数据类型 成员1;
数据类型 成员2;
// 更多成员...
};
例如,定义一个表示学生的结构体:
struct Student {int id;
char name[50];
float score;
};
创建结构体变量并访问成员
定义结构体后,就可以创建它的变量,并通过点操作符(.)访问其成员。
立即学习“C++免费学习笔记(深入)”;
示例:
int main() {Student s1;
s1.id = 1001;
strcpy(s1.name, "Alice");
s1.score = 95.5f;
cout cout cout
return 0;
}
结构体与指针
可以使用指针指向结构体变量,通过箭头操作符(->)访问成员。
示例:
Student s1 = {1001, "Bob", 88.5};Student* ptr = &s1;
cout id
注意:ptr->id 等价于 (*ptr).id
结构体初始化
C++支持多种初始化方式:
- 按顺序赋初值:Student s = {1002, "Tom", 90.0};
- 指定成员初始化(C++11起):Student s = {.id=1003, .name="Jane", .score=85.0};
- 构造函数方式(结构体也支持构造函数):
int id;
char name[50];
float score;
Student(int i, const char* n, float s) {
id = i;
strcpy(name, n);
score = s;
}
};
然后可以这样创建:
Student s(1004, "Mike", 92.0);基本上就这些。结构体在C++中不仅支持数据封装,还能包含函数、构造函数,使用起来非常灵活。










