本文主要是介绍c++ struct结构体的用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在 C++ 中,struct
(结构体)是一种用户自定义的数据类型,可以用来组合不同类型的数据。结构体的使用非常广泛,尤其在需要将多个相关的数据组合在一起时。
定义结构体
使用 struct
关键字定义一个结构体的基本语法如下:
struct StructName {// 数据成员DataType member1;DataType member2;// ...
};
示例
下面是一个简单的示例,展示了如何定义和使用结构体:
#include <iostream>
#include <string>struct Person {std::string name;int age;float height;
};int main() {// 创建结构体变量Person person1;// 给结构体成员赋值person1.name = "Alice";person1.age = 30;person1.height = 5.5;// 输出结构体成员std::cout << "Name: " << person1.name << std::endl;std::cout << "Age: " << person1.age << std::endl;std::cout << "Height: " << person1.height << " feet" << std::endl;return 0;
}
结构体的初始化
可以在定义结构体变量时直接进行初始化:
Person person2 = {"Bob", 25, 6.0};
结构体数组
可以创建结构体的数组来存储多个相同类型的结构体:
Person people[3] = {{"Alice", 30, 5.5},{"Bob", 25, 6.0},{"Charlie", 28, 5.8}
};
结构体作为函数参数
结构体可以作为函数参数传递:
void printPerson(const Person& p) {std::cout << "Name: " << p.name << ", Age: " << p.age << ", Height: " << p.height << " feet" << std::endl;
}int main() {Person person = {"Alice", 30, 5.5};printPerson(person);return 0;
}
结构体与类的区别
- 默认访问权限:在
struct
中,成员的默认访问权限是public
,而在class
中,默认访问权限是private
。 - 用途:
struct
通常用于简单的数据结构,而class
用于封装更复杂的对象及其行为。
示例:包含函数的结构体
C++ 的结构体不仅仅可以包含数据成员,也可以包含成员函数:
struct Rectangle {float width;float height;float area() {return width * height;}
};int main() {Rectangle rect = {10.0, 5.0};std::cout << "Area: " << rect.area() << std::endl;return 0;
}
总结
struct
是 C++ 中一个非常有用的特性,适用于组织和管理相关数据。它可以与类同样使用,并且可以包含数据和函数。通过使用结构体,可以有效地解决和管理复杂的数据结构。
这篇关于c++ struct结构体的用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!